我正在尝试查找并替换从不同字符集输入的数据库中的众多“特殊字符”。
我环顾四周,在SQL Server中找到了REPLACE
函数,并尝试了以下内容:
UPDATE mans_brands_packages
SET package_content = REPLACE(package_content, 'œ', '&')
WHERE package_content LIKE '%œ%'
但是我得到了一个错误:
Msg 8116,Level 16,State 1,Line 1
参数数据类型文本对于替换函数的参数1无效。
这是因为SQL Server不将“œ”作为参数?感谢。
答案 0 :(得分:0)
您正试图replace
针对text
字段 - replace
期望(n)(var)char
数据类型作为第一个参数。
UPDATE mans_brands_packages
SET package_content = REPLACE(convert(nvarchar(max),package_content),'œ','&')
WHERE package_content LIKE '%œ%'
此外,不推荐使用text
数据类型。您应该将其更改为(n)varchar(max)
字段