我使用 这个已经有一段时间了:
SUBSTRING(str_col, PATINDEX('%[^0]%', str_col), LEN(str_col))
但是最近,我发现所有“0”字符的列都有问题,比如“00000000”,因为它从未找到匹配的非“0”字符。
我见过的另一种技术是使用 TRIM
:
REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0')
如果有嵌入的空格,这就有问题了,因为当这些空格变回“0”时,它们就会变成“0”。
我试图避免标量 UDF。我在 SQLServer2005中发现了很多 UDF 的性能问题。