gpt4 book ai didi

mysql - 如何使用 RegEx 更新 VARCHAR 列值?

转载 作者:行者123 更新时间:2023-11-29 14:43:46 27 4
gpt4 key购买 nike

我需要将 MySQL 数据库中 VARCHAR 列的值从 YYMMDDSXXXXX 更新为 YYMMDDSXXXX,其中 YY 是年份(即 2011 年的 11),MM 是月份(即 9 月的 09),DD 是日期(即 15) ,S 是一位数的顺序号(1 到 0),XXXXX 是从 00001 到 99999 的顺序号。

我需要将序列号减少十倍,即从 0001 到 9999。

我想到了类似的事情:

update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);

但是我不太擅长MySQL,所以我不知道该怎么做。有人可以帮忙吗?

提前致谢!

最佳答案

可以使用以下方法轻松实现正则表达式替换:

https://launchpad.net/mysql-udf-regexp

您需要的正则表达式(采用 perl/posix std 表示法,例如使用 sed)

s/([0-9]{7})0-9/$1$2/g

假设您想从左侧(最重要)缩短计数器,以保持您已经拥有的唯一计数(显然,如果您不需要那么多地方,则需要删除无用的 - 最重要的 - 位)。

这应该会让你顺利上路,玩得开心:)

关于mysql - 如何使用 RegEx 更新 VARCHAR 列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436558/

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