我在 MySQL Server 5.7 数据库中有一个表。这个表有一个 varchar(256)
名为“url”的列。很遗憾,
此字段中的值包含一个路径,在导入 WordPress 博客时不包含该路径。例如网址 'time-for-land-audit'
实际上存储为'**/articles/2013/02/27/time-for-land-audit**'
在表中。
我想更新此表中的所有记录以删除日期格式
(**/articles/YYYY/MM/DD/**).
如何一次更新所有记录以删除多余的空格?
最佳答案
mysql> SELECT SUBSTRING_INDEX('/articles/2013/02/27/time-for-land-audit', '/', -1) AS short_url;
+---------------------+
| short_url |
+---------------------+
| time-for-land-audit |
+---------------------+
作为更新,它看起来像这样:
UPDATE mytable SET url = SUBSTRING_INDEX(url, '/', -1)
见 https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring-index用于文档。
P.S.:请务必先在数据的测试样本上测试这是否符合您的要求!您不会惊讶地发现您已经破坏了您唯一的数据副本。
关于mysql - 使用列中的开始和结束索引修剪不需要的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59080598/