如何只替换字符串中的第一个零? 例如:
string : '0000089001232100'
result: '89001232100'
我不能使用SQL Server REPLACE
函数,因为我不想要替换所有的零。
谢谢:)
答案 0 :(得分:3)
select substring(ColumnName, patindex('%[^0]%',ColumnName), 10)
应该能满足您的需求。
同时查看RIGHT
和LEFT
函数。他们分别从左侧或右侧剥去一根绳子。
如果您想使用RIGHT
,可以使用CHARINDEX
(http://msdn.microsoft.com/en-us/library/ms186323.aspx)获取第一个“想要”字符的索引,然后使用该索引作为要剥离的点在RIGHT
函数中。
答案 1 :(得分:2)
如果字符串始终只有数字,您可以使用:
DECLARE @String VARCHAR(30)
SET @String = '0000089001232100'
SELECT CONVERT(VARCHAR(20),CONVERT(NUMERIC(20,0),@String))