删除所有带前缀的指定char和postfix空间

时间:2012-01-12 18:01:15

标签: sql sql-server-2005 tsql

我必须比较两个格式不同的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')

似乎有效,但是两次更换琴弦感觉很浪费,而且根本没有明确的意图。

能否以更有效和/或更优雅的方式实现结果?

1 个答案:

答案 0 :(得分:1)

结果应该是一个数字?你可以做这样的事情: select convert(int,'0010')