我用this已经有一段时间了:
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的性能问题.