如何在SQL Server 2008中查找和替换特殊字符

时间:2014-06-10 13:51:21

标签: sql sql-server

我正在尝试查找并替换从不同字符集输入的数据库中的众多“特殊字符”。

我环顾四周,在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不将“œ”作为参数?感谢。

1 个答案:

答案 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)字段