a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle生成不重復票號與LPAD,RPAD與NEXTVAL函數解析

2024-08-29 14:00:48
字體:
來源:轉載
供稿:網友

SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL

該語句拼接 時間 與 LPAD產生的 'REFUNDSEQ.NEXTVAL值的前6位有字符,如果不足6位,就用0補足' ,為防止出現重復票號增加時間 ,一天最多出現999999個有效票號

DUAL : 是oracle/7745.html">oracle的虛擬表,不是真實存在的,又稱ORCLE偽表,方便輸出結果集
REFUNDSEQ : 這個是開發人員自己起的一個"序列"的名字,序列一般用于生成id號
REFUNDSEQ.NEXTVAL : 就是取序列的下一個值

怎么把SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL在java中顯示?

//生成交易流水號 public String getTicketNo() throws Exception {  Map map = jdbcTemplate.queryForMap("SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS TICKET_NO FROM DUAL");  return (String) map.get("RES_ORDER_NO"); } 

一 、 LPAD() 、RPAD() 函數

        * 從其字面意思也可以理解,l是left的簡寫,pad是填充的意思,所以lpad就是從左邊填充的意思。該函數從左邊對字符串使用指定的字符進行填充。

        * 語法:LPAD( STRING, PADDED_LENGTH, [ PAD_STRING ] )

           STRING :準備被填充的字符串;

           PADDED_LENGTH :填充之后的字符串長度,也就是該函數返回的字符串長度,如果這個數量比原字符串的長度要短,lpad函數將會把字符串截取成從左到右的n個字符;

           PAD_STRING :填充字符串,是個可選參數,這個字符串是要粘貼到string的左邊,如果這個參數未寫,lpad函數將會在string的左邊粘貼空格。

        用例:

                   * SELECT LPAD('asdfg',10,'x') FROM DUAL;輸出:'xxxxxasdfg'
                   * SELECT LPAD('ASDFG',10,'JK') FROM DUAL;輸出:'JKJKJASDFG'
                   * SELECT LPAD('ASDFG',2) FROM DUAL;輸出:'AS'

        * RPAD() 函數從右邊對字符串使用指定的字符進行填充,語法格式與LPAD格式相同:

                      RPAD('DEMO', 7); 將返回'DEMO '
                      RPAD('DEMO', 2); 將返回'DE'
                      RPAD('DEMO', 8, '0'); 將返回'tech0000'
                      RPAD('DEMO', 4, 'M'); 將返回 'DEMO'
                      RPAD('DEMO', 5, 'M'); 將返回 'DEMOM'

         拼接——流水號,時間,單號:LPAD(流水號 || 時間,6,'0')

二 、 NEXTVAL()  函數

        * 序列名.NEXTVAL :調用NEXTVAL將生成序列中的下一個序列號,調用時要指出序列名(第一次調用該方法值為10,第二次調用為11,第三次調用為12,依次遞增)。

        * 在Oracle數據庫中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其實是序列號生成器,可以為表中的行自動生成序列號,產生一組等間隔的數值(類型為數字)。其主要的用途是生成表的主鍵值,可以在插入語句中引用,也可以通過查詢檢查當前值,或使序列增至下一個值。

總結

以上就是本文關于Oracle生成不重復票號與LPAD,RPAD與NEXTVAL函數解析的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本中文字幕在线视频 | 精品一区二区三区四区五区 | 亚洲精品美女 | 欧美国产日韩一区二区三区 | 国产一级特黄aaa大片 | 四虎4hu新地址入口2023 | 国产视频一区二区三区四区 | 欧美一区视频 | 91最新| 日本免费一区二区视频 | 亚洲一区二区三区四区五区中文 | 日韩经典一区 | 99久久精品国产一区二区三区 | 国产在线不卡视频 | 国产精品一区在线看 | 中文字幕一区二区三区四区 | 国产一二三区不卡 | 成人a视频 | 91精品在线观看入口 | 在线电影一区 | 日韩一区二区在线视频 | 国产偷录视频叫床高潮对白 | 精品九九 | 蜜桃视频一区二区三区 | 欧美日韩中文字幕在线播放 | 久久国产精品99久久久久久老狼 | 日韩欧美高清dvd碟片 | 色综合天天天天做夜夜夜夜做 | 日韩二区三区 | 成人免费在线观看 | 婷婷国产精品 | 国产精品日产欧美久久久久 | 亚洲嫩草 | 米奇成人网 | 日韩在线免费观看av | 四虎永久免费在线 | 欧美激情一区二区三级高清视频 | 在线亚洲电影 | 国产精品久久一区 | 在线视频三区 | 91精品综合久久久久久五月天 |