我在mysql中使用以下查询:
update TABLENAME set columnname = replace(columnname, 'And', 'and');
目的是替换And with和(" A"应该是小写的)。问题是它无法找到"和"在数据库中,但如果我使用"%和%"那么它就可以找到它和许多其他属于一个词或甚至已经小写的那些。
答案 0 :(得分:1)
因为你只想替换'和'的整个单词,所以它们都有前导和尾随空格(除非有人有一些不好的标点符号,比如'和')。所以在搜索中包含那些空格 - 即
update TABLENAME set columnname = replace(columnname, ' And ', ' and ');
SQL小提琴显示您的结果。 http://sqlfiddle.com/#!3/3f8fa/1
答案 1 :(得分:0)
替换功能是敏感。因此
update TABLENAME set columnname = replace(columnname, 'And', 'and');
如果没有列名完全符合' ,则
可能不会更新任何行。在它。
相反, LIKE
是不敏感的,因此
SELECT columnname FROM tablename WHERE columnname LIKE '%And%';
可能会返回结果,在列名中包含'和','和',' AND',...。