【问题标题】:Replacing the first 2 strings of similar characters in the column替换列中前2个相似字符的字符串
【发布时间】:2017-03-03 13:43:57
【问题描述】:

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

表 = 序列

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%'

感谢任何帮助。

【问题讨论】:

    标签: sql sql-server-2005


    【解决方案1】:

    试试这个:

    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%' 
    

    【讨论】:

    • @Gordon 我看不到检查Column1 like 'A0%'的意义
    • @GiorgosBetsos 。 . .我想得更笼统,可能是专注于第一句话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 2018-11-15
    • 2020-08-31
    相关资源
    最近更新 更多