小编典典

在 SQL Server 中修剪前导零的更好技术?

all

我已经使用了一段时间:

SUBSTRING(str_col, PATINDEX('%[^0]%', str_col), LEN(str_col))

但是最近,我发现所有“0”字符(如“00000000”)的列存在问题,因为它从未找到要匹配的非“0”字符。

我见过的另一种技术是使用TRIM

REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0')

如果有嵌入的空格,这是有问题的,因为当空格变回“0”时,它们将变成“0”。

我试图避免使用标量 UDF。我发现 SQL Server 2005 中的 UDF 存在很多性能问题。


阅读 44

收藏
2022-07-31

共1个答案

小编典典

SUBSTRING(str_col, PATINDEX(‘%[^0]%’, str_col+’.’), LEN(str_col))

2022-07-31