我想问你如何在整个表格中替换1个字符?
我想替换©
的字符并将其更改为Š
我找到了:http://www.sqlteam.com/article/using-replace-in-an-update-statement
我读了很多工作人员,但我发现代码只替换整个表中的一个字符..我尝试添加列的名称到行,但这不起作用..
我有:
Column1 Column2 Column3
©pple ©og ©ook
我需要:
Column1 Column2 Column3
Špple Šog Šook
感谢您的任何意见
答案 0 :(得分:2)
您可以在UPDATE
声明中一次更新多个字段。
UPDATE dbo.authors
SET city = replace(city, 'Salt', 'Olympic')
, city2 = replace(city2, 'Salt', 'Olympic')
, city3 = replace(city3, 'Salt', 'Olympic')
, ...
答案 1 :(得分:1)
如果Column1, Column2, Column3
属于NVARCHAR
类型,那么您必须在每个字符串文字前加N
,例如:
UPDATE mytable
SET Column1 = REPLACE(Column1, N'©', N'Š'),
Column2 = REPLACE(Column2, N'©', N'Š'),
Column3 = REPLACE(Column3, N'©', N'Š')
答案 2 :(得分:0)
Update table
set col1=replace(col1,'©','Š' ),col2=replace(col2,'©','Š' ),col3=replace
(col3,'©','Š' )
...colN=replace(colN,'©','Š' )
答案 3 :(得分:0)
在获得其他答案时,请回答您的特定问题。使用以下方法将使用更少的Tlog,并且将更有效,特别是如果您的列非常大(Varchar(max),Nvarchar(max)
update table
set col1.WRITE('Š',0,1),
col2.WRITE('Š',0,1) and so on