家长提问—— https://stackoverflow.com/questions/50974562/sql-server-update-to-match-and-replace-only-exact-words感谢 Iamdave,部分问题得到了解决。现在的挑战是在已经设置了以下排序规则的数据库中使搜索不区分大小写:COLLATE Latin1_General_CS_AS
我正在使用此查询,但它不起作用 - 无法匹配测试、测试,只能匹配测试
UPDATE dbo.BODYCONTENT
SET BODY = LTRIM(RTRIM(REPLACE(
REPLACE(
REPLACE(N' ' + CAST(BODY AS NVARCHAR(MAX))
+ N' ', ' ', '<>'), '>TEST<', '>Prod<'), '<>', ' ')))
FROM dbo.BODYCONTENT
WHERE BODY COLLATE Latin1_General_CI_AS LIKE '%TEST%' COLLATE Latin1_General_CI_AS;
如何使替换函数中的搜索字符串匹配不区分大小写
其他查询和结果:
UPDATE dbo.BODYCONTENT SET BODY =
ltrim(rtrim(replace(replace(
replace(N' ' + cast(BODY as nvarchar(max)) + N' ' ,' ','<>')
,'>Test<','>Prod<),'<>',' ')))
from dbo.BODYCONTENT WHERE lower(BODY) like '%test%';
结果:参数数据类型 ntext 对于下层函数的参数 1 无效。