SQL更新列两次

Ria*_*ney 0 sql sql-update

我在表(Tab1)中有一个字符串列(Col1).我想编写一个脚本来删除'%'字符串值中的'或'字符.

选择此项如下:

SELECT REPLACE( Tab1.Col1, '&', ''), 
       REPLACE(Tab1.Col1, '%', '')
FROM Table1 Tab1
WHERE Tab1.Col1 like '%[&]%' 
      OR Tab1.Col1 like '%[%]%'
Run Code Online (Sandbox Code Playgroud)

这看起来是否正确?如果是这样我将如何将其转换为任何更新语句?我尝试了以下方法:

UPDATE Tab1
SET Tab1.Col1 =  REPLACE( Tab1.Col1, '&', ''),  
    Tab1.Col1 = REPLACE (Tab1.Col1, '%', '')
FROM Table1 Tab1
WHERE Tab1.Col1 like '%[&]%' 
      OR Tab1.Col1 like '%[%]%'
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为你不能两次更新列SET.有没有其他方法可以做到这一点?我知道我可能在这里做些傻事,为我的无知道歉.

提前致谢.

The*_*ing 5

这应该工作.Replace返回一个字符串,您可以再次传递给另一个替换函数.

UPDATE Tab1 
    SET Tab1.Col1 =  REPLACE(REPLACE( Tab1.Col1, '&', ''), '%', '') 
    FROM Table1 Tab1 
    WHERE Tab1.Col1 like '%[&]%' OR Tab1.Col1 like '%[%]%'
Run Code Online (Sandbox Code Playgroud)