MYSQL刷新字段:“指定字符”+年月日+三位流水号

项目场景:

项目场景:生成编号:“指定字符”+年月日+三位流水号

需求阐述:

已经写完了生成流水号的代码,但是之前的数据并没有此类编码,所以需要把数据库新建的编码字段进行刷新。 刷新数据的逻辑:根据指定字符“LSH”,数据的创建时间,三位流水号进行拼接。 例如:“LSH20210915001”

分析:

执行了符合条件的查询语句,要刷新的数据库数量不算太大,一千多条数据,所以采用了excel拼装sql的方式做的。


解决方案:

导出符合条件的表的id和创建时间,然后把粘贴到excel表中的时分秒去掉,可以使用excel中的分列去掉时分秒。我这里是先粘贴到了idea里,用正则去掉的。具体做法:
Ctrl+r调出正则,输入\d+:\d+:\d+,点击replaceAll即可,再粘贴回到了excel里。
然后输入生成流水号的函数:
=TEXT(INT(D2),“YYYYMMDD”)&TEXT(COUNTIF(D$2:D2,D2),“000”)
如图所示
在这里插入图片描述
然后拼接sql,
如图所示,拼接函数为CONCATENATE
在这里插入图片描述
把生成的一千多条修改语句执行一下即可。
特别说明
如果数据量很大,建议创建一张临时表,连表执行一下sql语句。这样耗时短。
当然,也可以直接使用sql或者程序生成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值