我有一个StudentNo的ComputerNo列。每个单元格中都存在一个特殊字符“C”。我需要在C. Ex之后替换所有字符。 278287C100 - > 278287C。我的表中总共有300000多个数据。请帮我解决更新问题。提前致谢。
278287C0
1671755C1
1671841C2
1671810C3
1671779C4
160771C5
256050C6
275222C7
1625345C8
1617362C9
答案 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));