SQL Server - 用单撇号替换多个撇号

时间:2016-12-06 12:08:13

标签: sql sql-server

在我的数据库中,我遇到了如何转义单引号的问题,导致每次保存记录时它们都会加倍。我现在已经解决了这个问题,但我需要清理它造成的混乱。

所以我想知道用一个单一的替换所有超过撇号的实例最直接的是什么。例如,替换''''''''''''用'

表中有许多不同数量的实例。

2 个答案:

答案 0 :(得分:3)

尝试下面的这个技巧

UPDATE yourTable
SET columnName = REPLACE(REPLACE(REPLACE(columnName,'''','<>'),'><',''),'<>','''')

这个技巧很方便用相应的单个实例替换任何角色的多个连续实例。我在SO上找到了这个,用单个空格替换多个空格字符实例。

答案 1 :(得分:1)

这涉及很多单引号:

update t
     set col = replace(col, '''''', '''');
-----------------------------^^**    ^^

第一个单引号字符串有六个单引号,第二个字符串有四个。

^^**显示代表单引号的加倍单引号。