如何根据SQL中的字符替换右侧值?

时间:2017-04-18 08:17:14

标签: sql sql-server database

我有一个StudentNo的ComputerNo列。每个单元格中都存在一个特殊字符“C”。我需要在C. Ex之后替换所有字符。 278287C100 - > 278287C。我的表中总共有300000多个数据。请帮我解决更新问题。提前致谢。

278287C0
1671755C1
1671841C2
1671810C3
1671779C4
160771C5
256050C6
275222C7
1625345C8
1617362C9

4 个答案:

答案 0 :(得分:1)

我认为您可以尝试这样的事情(进行测试 - 并使用事务 - 在将结果应用于生产环境之前):

UPDATE TABLE SET FIELD = SUBSTRING(  FIELD, 1, CHARINDEX('C', FIELD));

答案 1 :(得分:1)

您好请尝试以下代码

 Update your_table set your_column=SUBSTRING(your_column,1,CHARINDEX('C',your_column))

我希望这会有所帮助。

答案 2 :(得分:1)

使用以下更新声明:

UPDATE Student SET 
ComputerNo= CASE ISNULL(ComputerNo,'') 
            WHEN '' THEN ComputerNo
            ELSE LEFT(ComputerNo,LEN(ComputerNo) - CHARINDEX('C',REVERSE(ComputerNo)) + 1)
            END

答案 3 :(得分:1)

另一种选择是使用LEFT函数

 UPDATE TABLE SET FIELD = LEFT(FIELD,CHARINDEX('C', FIELD));