如果在SQL Server中将字符串作为nvarchar和varchar处理,那么在不转换为INT类型的情况下删除前导零的正确方法是什么?
以'000123'为例。我想将其转换为'123'
答案 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