我有这样的疑问:
UPDATE tbl SET fldname = replace(fldname,'St','Stats');但是,如果有任何东西以字母St开头,例如Stump,那么它看起来就像Statsump。我如何才能将St替换为完全匹配的内容?谢谢!
发布于 2015-04-25 06:10:39
除非您使用user defined functions,否则AFAIK MySQL不直接支持正则表达式替换(http://bugs.mysql.com/bug.php?id=27389)。
不过,您可以尝试添加WHERE char_length(fldname) == 5 -这将只匹配长度为5的字符串,并且包含'Stats'的唯一长度为5的字符串是...'Stats'。
当然,抛弃整个代码,只执行SET fldname='St' WHERE fldname == 'Stats',这可能是明智的做法,除非您的查询比示例更复杂。
https://stackoverflow.com/questions/29858213
复制相似问题