解题思路:先判断数据表中是否有当日数据,如果有就在当日最大数据之上加一,如果没有则创建当日第一条数据比如20191221001
<select id="generationBta" resultType="java.lang.String">
SELECT case
WHEN SUBSTR(max(bta),1,8) = DATE_FORMAT(SYSDATE(),'%Y%m%d') then CONCAT(DATE_FORMAT(SYSDATE(),'%Y%m%d'),LPAD(SUBSTR(max(bta),9,4) + 1,4,0))
WHEN count(*) = 0 then CONCAT(DATE_FORMAT(SYSDATE(),'%Y%m%d'),'0001')
END
FROM
etrip_voucher
where bta like CONCAT(DATE_FORMAT(SYSDATE(),'%Y%m%d'),'%')
</select>
版权声明:本文为CSDN博主「GreatestAsset」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28336067/article/details/72189804