gpt4 book ai didi

mysql - MySQL 的不区分大小写的 REPLACE

转载 作者:行者123 更新时间:2023-11-29 13:18:00 24 4
gpt4 key购买 nike

MySQL 是否有不区分大小写的Replace

我正在尝试在段落文本中将用户的旧用户名替换为新用户名。

$targetuserold = "@".$mynewusername;
$targetusernew = "@".$newusername;

$sql = "
UPDATE timeline
SET message = Replace(message,'".$targetuserold."', '".$targetusernew."')
";

$result = mysql_query($sql);

这缺少旧用户名大小写不同的情况。示例:在数据库中的所有行中将“Hank”替换为“Jack”将留下“hank”的实例。

最佳答案

一种无需任何存储函数即可工作的更简单方法:

SELECT message,
substring(comments,position(lower('".$targetuserold."') in message) ) AS oldval
FROM timeline
WHERE message LIKE '%".$targetuserold."%'

为您提供所有消息中用户名的准确且区分大小写的拼写。正如您似乎从 PHP 脚本运行它一样,您可以使用它来收集拼写以及相应的 ID,然后运行一个简单的 REPLACE(message,'".$oldval.",'".$targetusernew ."') 对此。或者使用上面的作为子选择:

UPDATE timeline 
SET message = REPLACE(
message,
(SELECT substring(comments,position(lower('".$targetuserold."') in message))),
'".$targetusernew."'
)

这里就像一个魅力。

感谢this article ,我的想法就是从那里得到的。

关于mysql - MySQL 的不区分大小写的 REPLACE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com