T-SQL删除零填充作为字符串操作

时间:2013-12-31 16:54:48

标签: sql sql-server tsql padding

如果在SQL Server中将字符串作为nvarchar和varchar处理,那么在不转换为INT类型的情况下删除前导零的正确方法是什么?

以'000123'为例。我想将其转换为'123'

1 个答案:

答案 0 :(得分:2)

DECLARE @Var VARCHAR(100) = '000000658410065446'

SELECT SUBSTRING(@Var, PATINDEX('%[^0]%',@Var), 100)

OR

SELECT SUBSTRING(@Var, PATINDEX('%[^0]%',@Var), 
                   LEN(@Var)- PATINDEX('%[^0]%',@Var)+ 1)

两者都将返回相同的结果如下

<强>结果

658410065446