Re: [請益] 這是個很低級的錯誤嗎?已刪文
翻到我以前的筆記本 也是土砲流水號的
---------------------
格式YYYYMMDD+5碼流水號
(SELECT (TO_CHAR(SYSDATE, 'YYYYMMDD') ||
LPAD((NVL(MAX(SUBSTR(SP_NO, 9, 5)),
0)) + 1, 4, '0')) sNewID
FROM SP_PRxxxxION_MASTER
WHERE SUBSTR(SP_NO, 1, 8) = TO_CHAR(SYSDATE, 'YYYYMMDD'))
說明:
TO_CHAR(SYSDATE, 'YYYYMMDD')是取出現在日期 例如20170125
然後加上後面那一串數字
拆來開說明
SUBSTR(SP_NO, 9, 5)是取第九位數字後面的五個數字
例如SUBSTR(112233445566778899, 9, 5)會等於55667
用MAX()會讓取出來的字串變數字
如果MAX()取出來的是null 就用NVL()設為0 然後加1
然後再用LPAD補上0
---------------------
現在也想不起來為什麼這樣做了
用的是oracle
可能是想要有日期吧
SP_NO也不知道哪來的
給大家參考參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.104.72.7
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1557243654.A.462.html
※ 編輯: vi000246 (106.104.72.7), 05/07/2019 23:47:53
→
05/08 01:41,
5年前
, 1F
05/08 01:41, 1F
推
05/08 02:23,
5年前
, 2F
05/08 02:23, 2F
討論串 (同標題文章)