如果提到“”,我会尝试修剪标记,但这样做时,第一个逗号仍然保留。
--drop tags like 'ÙØ³Ù
'
drop table temp
CREATE TABLE temp (tags NVARCHAR(1500));
INSERT INTO temp values(N'ØªÙØ§ØØ©, Ø£ÙØ§Ùاس, ÙØ³Ù
')
INSERT INTO temp values(N'ØªÙØ§ØØ©, Ù
ÙØ², Ø¨Ø±ØªÙØ§Ù, ÙØ³Ù
, Ø§ÙØ¹Ùب')
我试着运行这个:
set temp.tags = replace(tags,N'ÙØ³Ù
,','')
where tags like N'%ÙØ³Ù
%'
update temp
set temp.tags = replace(tags,N'ÙØ³Ù
','')
where tags like N'%ÙØ³Ù
%'
这就是输出:
ØªÙØ§ØØ©, Ø£ÙØ§Ùاس,
ØªÙØ§ØØ©, Ù
ÙØ², Ø¨Ø±ØªÙØ§Ù, Ø§ÙØ¹Ùب
理想情况下应该是什么:
ØªÙØ§ØØ©, Ø£ÙØ§Ùاس
ØªÙØ§ØØ©, Ù
ÙØ², Ø¨Ø±ØªÙØ§Ù, Ø§ÙØ¹Ùب
我还试着跑步:
UPDATE temp
SET temp.tags = case when charindex(',',temp.tags,0) =1 then right(temp.tags, len(temp.tags)-1) else temp.tags end
在字符串开头有逗号的地方,我最终得到了相同的输出。