我必须比较两个格式不同的char(4)
。因此我想要一种格式,以便与其他格式进行比较。基本上我需要删除前缀零和尾随空格(如果存在)。删除所有前缀指定的字符和后缀空间
例如:
的字符:
'001 '
和'1'
都应该比较'1'
格式化
'001A'
和'1A'
后都应该格式化
'010 '
和'10'
后比较'1A'
应两者相比'10'
格式化
'010A'
和'10A'
后都应该比较'10A'
格式化
'100 '
和'100'
后都应该比较'100'
格式化
'100A'
格式化
select Replace(Ltrim(Replace(Rtrim(@charToBeFormatted), '0', ' ')), ' ', '0')
看来以后应该比较'100A'
后工作,但感到很浪费将字符串放置两次,它根本不会使意图清晰。
可以以更高效和/或优雅的方式实现结果吗?
@Benoit [LTRIM](http://msdn.microsoft.com/en-us/library/ms177827.aspx)和[RTRIM ](http://msdn.microsoft.com/en-us/library/ms178660.aspx)不采取第二个参数。 – 2012-01-12 18:08:41
@JoeStefanelli呃,不知道你的意思。示例中的LTRIM和RTRIM都只有一个参数。你能详细说明吗? (可能是由于缺乏可读性/清晰意图而强调的问题?_?) – steenhulthin 2012-01-12 18:31:49
我回复了@Benoit发布的内容,他之后删除了该内容。 – 2012-01-12 18:37:23