如何基于sql模式更新列中的特定数据?

ubbxdtey  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(354)

出于某些原因,在我的数据库中的表列中,我有一些数据的绝对url如下所示:

+---------------------------------+
|               url               |
+---------------------------------+
| /foo/12                         |
| http://www.myexample.com/foo/13 |
| http://www.myexample.com/foo/14 |
+---------------------------------+

我想将绝对url更新为相对url,如下所示:

+---------------------------------+
|               url               |
+---------------------------------+
| /foo/12                         |
| /foo/13                         |
| /foo/14                         |
+---------------------------------+

如何使用sql查询实现这一点?

kb5ga3dv

kb5ga3dv1#

你可以用 REPLACE(str,from_str,to_str) 返回字符串str,其中所有出现的字符串从\u str替换为到\u str的字符串。replace()在搜索从\u str时执行区分大小写的匹配。
所以你可以写replace(url,'http://www.myexample.com','')在更新查询中

update table_name set url = replace(url,'http://www.myexample.com','') where 1=1

相关问题