我必须比较两个格式不同的char(4)
。因此,我想一种格式,以便它可以与另一种格式进行比较。基本上我需要删除带前缀的零和尾随空格(如果存在)。
例如:
字符:
格式化后, '001 '
和'1'
都应与'1'
进行比较
格式化
'001A'
和'1A'
都应与'1A'
进行比较
格式化
'010 '
和'10'
都应与'10'
进行比较
格式化
'010A'
和'10A'
都应与'10A'
进行比较
格式化
'100 '
和'100'
都应与'100'
进行比较
格式化
'100A'
应与'100A'
进行比较
select Replace(Ltrim(Replace(Rtrim(@charToBeFormatted), '0', ' ')), ' ', '0')
似乎有效,但是两次更换琴弦感觉很浪费,而且根本没有明确的意图。
能否以更有效和/或更优雅的方式实现结果?
答案 0 :(得分:1)
结果应该是一个数字?你可以做这样的事情: select convert(int,'0010')