Sql Server - 仅替换字符串中的第一个字符

时间:2013-03-04 14:13:22

标签: sql sql-server sql-server-2008

如何只替换字符串中的第一个零? 例如:

string : '0000089001232100'
result:  '89001232100'

我不能使用SQL Server REPLACE函数,因为我不想要替换所有的零。 谢谢:)

2 个答案:

答案 0 :(得分:3)

select substring(ColumnName, patindex('%[^0]%',ColumnName), 10)应该能满足您的需求。

同时查看RIGHTLEFT函数。他们分别从左侧或右侧剥去一根绳子。

如果您想使用RIGHT,可以使用CHARINDEXhttp://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))