需求,更新数据库某个字段,要求根据创建日期,更新改字段,例如2021-07月的数据,则更新七月的数据为 202107001 、202107002 、202107003…

sql如下:

set @rownum=0;
update t_weighted_management
SET weighting_code =  CONCAT(coal_type ,DATE_FORMAT(create_time,'%Y%m%d'),
SUBSTR(CONCAT('000',(select @rownum := @rownum +1 )),-3))  
WHERE DATE_FORMAT(create_time,'%Y-%m') = '2019-07';

解释:concat函数 拼接字符串,括号内可以有任意多个参数,然后将参数按顺序拼接为一个字符串
substr 函数,截取字符串 -3 参数的意思就是 截取最后三位
重点其实就是select @rownum := @rownum + 1 获取行号的意思

最终结果:分别是create_time 列和 编码列
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐