替换列中前两个相似字符的字符串

时间:2017-03-03 13:43:57

标签: sql sql-server-2005

我想用“A0”替换以“01”开头的所有条目的前2个字符。

table = Seq

Column1
01010101
01010102
01010103

结果应为:

Column1
A0010101
A0010102
A0010103

我无法使用替换,因为我不想更改后续的“01”。

Update [Seq]
Set Column1 = Replace(Column1, '01', 'A0')
Where Column1 like '01%'

我希望改为使用Stuff,但我似乎无法使其发挥作用。

Update [Seq]
Set Column1 = 'A0' + substring(Column1, 2, len(Column1)-6)
where Column1 like '01%'

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

试试这个:

Update [Seq]
Set Column1 = 'A0' + RIGHT(Column1, LEN(Column1) - 2)
where Column1 like '01%'

Demo here

使用STUFF

Update [Seq]
Set Column1 = STUFF(Column1, 1, 2, 'A0') 
where Column1 like '01%'