如何从 varchar 中仅删除前 0 个字符?
例如“000303”==>“00303”
我尝试过没有成功,所有 0 字符都被删除了:
SELECT SUBSTRING('000303', PATINDEX('%[^0]%', '000303'),LEN('000303'));
谢谢
最佳答案
尝试使用STUFF
函数
SELECT CASE WHEN LEFT('000303',1) = '0' THEN STUFF('000303',1,1,'') ELSE '000303' END
或使用RIGHT
函数
SELECT CASE WHEN LEFT('000303',1) = '0' THEN RIGHT('000303', LEN('000303')-1) ELSE '000303' END
您还可以使用 LEFT('000303',1) = '0'
check 来代替
charindex('0','000303') = 1
或
'000303' LIKE '0%'
(ughai建议)
关于sql-server - 使用 MSSQL 从 varchar 中删除第一个前导 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489309/