如何从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'
检查,您还可以使用charindex('0','000303') = 1
或'000303' LIKE '0%'
(ughai建议)