一句sql就实现了
SELECT NVL((select 字段名 + 1 FROM (select 字段名 FROM 表名 where SUBSTR(TO_CHAR(字段名),1,8) = TO_CHAR(SYSDATE, 'YYYYMMDD') ORDER BY 字段名 DESC) WHERE ROWNUM = 1), TO_CHAR(SYSDATE, 'YYYYMMDD') || '0001') FROM DUAL;
很感谢LZ,可是数据库是oralce,自增列需要用到sequence,就需要每天重置sequence为1;
个人解决办法如下:
1、创建sequence seq_tabl_id
2、获取编号:日期+select seq_tabl_id.nextval from dual;
3、每天0点定时执行
String seq = select seq_tabl_id.nextval from dual;
alter sequence seq_tabl_idincrement by -(seq-1);
select seq_tabl_id.nextval from dual;
alter sequence seq_tabl_idincrement by 1;