我有1000个SQL行,其中包含数据类型为LONGTEXT的列。这些列中的每一列都包含列中某处的错误电话号码。我已尝试使用以下代码更新电话号码。
UPDATE table
SET text = replace('514-921-2738', '514-921-2738', '514-234-0315')
然而,它不是简单地用第二个电话号码 - 514-234-0315替换第一个电话号码 - 514-921-2738,而是用第二个电话号码替换整个文本块。
换句话说,我运行代码后剩下的就是电话号码。显然,我并不完全理解如何使用REPLACE
函数,但在查看在线文档后,我看不出我做错了什么。有什么想法吗?
答案 0 :(得分:5)
这就是你要找的东西:
UPDATE table
SET text = REPLACE(text, '514-921-2738', '514-234-0315');
REPLACE(STR,from_str均被,to_str)
返回带有all的字符串str 字符串from_str的出现被字符串to_str替换。
在您的查询中,您只需更换固定字符串' 514-921-2738'使用' 514-234-0315',然后将其分配给所有文本列值。