需要用单引号替换 SQL 中的文本
Need replace text with single quotes in SQL
我需要制作一个脚本来替换包含以下内容的列的所有寄存器:'@xxxx',删除单引号。 (xxxx 可以是空字符串或任何字符串。@, 是必要的,简单的引号也是如此)。
我正在实现类似的东西,但它对我不起作用,因为 'REPLACE' 函数接受字符串作为参数,而不是接受其他函数。
谢谢
我试过了
UPDATE MY_TABLE SET MY_COLUMN = REPLACE('MY_COLUMN',
SELECT "MY_COLUMN" FROM MY_TABLE WHERE "MY_COLUMN" like '%''@%',
SELECT TRIM( '%''%' FROM MY_TABLE WHERE "MY_COLUMN" like '%''@%'))
不清楚您使用的是什么 dbms,但这是我在 SQLServer 中使用的,如果不是这个,您可以为您修改 dbms。
这里的关键点是你做错了,你在每一行上使用替换函数,而不是将记录集传递到替换中。
UPDATE mt
SET myColumn = REPLACE(myColumn, '''','')
FROM myTable mt
WHERE myColumn LIKE '%''@%'
我需要制作一个脚本来替换包含以下内容的列的所有寄存器:'@xxxx',删除单引号。 (xxxx 可以是空字符串或任何字符串。@, 是必要的,简单的引号也是如此)。
我正在实现类似的东西,但它对我不起作用,因为 'REPLACE' 函数接受字符串作为参数,而不是接受其他函数。
谢谢
我试过了
UPDATE MY_TABLE SET MY_COLUMN = REPLACE('MY_COLUMN',
SELECT "MY_COLUMN" FROM MY_TABLE WHERE "MY_COLUMN" like '%''@%',
SELECT TRIM( '%''%' FROM MY_TABLE WHERE "MY_COLUMN" like '%''@%'))
不清楚您使用的是什么 dbms,但这是我在 SQLServer 中使用的,如果不是这个,您可以为您修改 dbms。
这里的关键点是你做错了,你在每一行上使用替换函数,而不是将记录集传递到替换中。
UPDATE mt
SET myColumn = REPLACE(myColumn, '''','')
FROM myTable mt
WHERE myColumn LIKE '%''@%'