我的数据库表中有一些不良数据。我想仅将所有&
或&
或&amp
或&amp
替换为&
。
在java中它工作正常。在SQL中怎么办?
爪哇:
String[] names = new String[] { "Ravi Suthar",
"Ravi & Suthar",
"Ravi & Suthar",
"Ravi & Suthar",
"Ravi & Suthar" };
for (String name : names) {
System.out.println(name.replaceAll("&[amp;]*", "&"));
}
SQL:
UPDATE tablename SET columnname=REPLACE(columnname,'&[amp;]*','&');
答案 0 :(得分:4)
UPDATE tablename SET columnname=REPLACE(REPLACE(columnname,'&','&'), 'amp;', '');
这将首先将"&"
替换为"&"
,然后将所有"amp;"
替换为""
(空字符串)。
答案 1 :(得分:1)
以下sql会将&
或&
或&amp
或&amp
或其序列替换为&
UPDATE tablename
SET columnname = REPLACE(REPLACE(columnname, '&', '&'), 'amp;', '');
或
UPDATE tablename
SET columnname = REPLACE(columnname , 'amp;', '')
答案 2 :(得分:1)
尝试执行此操作:
UPDATE Tablename
SET columnname = REPLACE(columnname, '&', '&')
WHERE columnname LIKE '%&%'