我有一张桌子叫myTable
其中有一个名为col1
。此列包含以下格式的数据:(1 或 2 位数字)(连字符)(8 位数字)。
我想替换此列中的所有数据,并将连字符之前的所有内容替换为 4,所以这是一个示例:
--------------------------------
| old values | New Values |
--------------------------------
| 1-654283568 => 4-654283568 |
| 2-467862833 => 4-467862833 |
| 8-478934293 => 4-478934293 |
| 12-573789475 => 4-573789475 |
| 16-574738575 => 4-574738575 |
--------------------------------
我相信我正在使用 MySQL 5.7.19REGEXP_REPLACE
在 MySQL 版本 8+ 中可用...不知道如何实现这一点?
你不需要正则表达式;您可以使用SUBSTRING_INDEX https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring-index提取连字符后的所有内容并连接4-
对此:
UPDATE myTable
SET col1 = CONCAT('4-', SUBSTRING_INDEX(col1, '-', -1))
无论连字符后有多少个字符,这都将起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)