需求,更新数据库某个字段,要求根据创建日期,更新改字段,例如-07月的数据,则更新七月的数据为 07001 、07002 、07003…
sql如下:
set @rownum=0;update t_weighted_managementSET 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') = '-07';
解释:concat函数 拼接字符串,括号内可以有任意多个参数,然后将参数按顺序拼接为一个字符串
substr 函数,截取字符串 -3 参数的意思就是 截取最后三位
重点其实就是select @rownum := @rownum + 1
获取行号的意思
最终结果:分别是create_time 列和 编码列