我有一个ComputerNo列的学生表。每个单元格中都有一个特殊字符“C”。我需要在C.Ex。之后替换所有的字符。 278287C100→278287C。我的表中共有300000多个数据。请帮助我一个更新查询。提前致谢。如何根据SQL中的字符替换右侧值?
278287C0
1671755C1
1671841C2
1671810C3
1671779C4
160771C5
256050C6
275222C7
1625345C8
1617362C9
我有一个ComputerNo列的学生表。每个单元格中都有一个特殊字符“C”。我需要在C.Ex。之后替换所有的字符。 278287C100→278287C。我的表中共有300000多个数据。请帮助我一个更新查询。提前致谢。如何根据SQL中的字符替换右侧值?
278287C0
1671755C1
1671841C2
1671810C3
1671779C4
160771C5
256050C6
275222C7
1625345C8
1617362C9
我想你可以尝试这样的事情(做测试 - 并使用交易 - 前申请生产ENV结果):
UPDATE TABLE SET FIELD = SUBSTRING( FIELD, 1, CHARINDEX('C', FIELD));
谢谢!请考虑我的问题作为一个有用的问题。 – sebu
你好,请尝试以下代码
Update your_table set your_column=SUBSTRING(your_column,1,CHARINDEX('C',your_column))
我希望这会有所帮助。
使用下面的更新语句:
UPDATE Student SET
ComputerNo= CASE ISNULL(ComputerNo,'')
WHEN '' THEN ComputerNo
ELSE LEFT(ComputerNo,LEN(ComputerNo) - CHARINDEX('C',REVERSE(ComputerNo)) + 1)
END
谢谢!请考虑我的问题作为一个有用的问题。 – sebu
的可能的复制[散装SQL-服务器替换](http://stackoverflow.com/questions/ 21877521/bulk-replace-in-sql-server) –
@sebu:如果像'1254C525C54'这样的数据应该是什么结果? –