最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle生成不重復(fù)票號(hào)與LPAD,RPAD與NEXTVAL函數(shù)解析

 更新時(shí)間:2017年10月27日 11:17:14   作者:乘風(fēng)曉棧  
這篇文章主要介紹了Oracle生成不重復(fù)票號(hào)與LPAD,RPAD與NEXTVAL函數(shù)解析,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。

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

該語(yǔ)句拼接 時(shí)間 與 LPAD產(chǎn)生的 'REFUNDSEQ.NEXTVAL值的前6位有字符,如果不足6位,就用0補(bǔ)足' ,為防止出現(xiàn)重復(fù)票號(hào)增加時(shí)間 ,一天最多出現(xiàn)999999個(gè)有效票號(hào)

DUAL : 是oracle的虛擬表,不是真實(shí)存在的,又稱ORCLE偽表,方便輸出結(jié)果集
REFUNDSEQ : 這個(gè)是開(kāi)發(fā)人員自己起的一個(gè)"序列"的名字,序列一般用于生成id號(hào)
REFUNDSEQ.NEXTVAL : 就是取序列的下一個(gè)值

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

//生成交易流水號(hào) 
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() 函數(shù)

        * 從其字面意思也可以理解,l是left的簡(jiǎn)寫(xiě),pad是填充的意思,所以lpad就是從左邊填充的意思。該函數(shù)從左邊對(duì)字符串使用指定的字符進(jìn)行填充。

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

           STRING :準(zhǔn)備被填充的字符串;

           PADDED_LENGTH :填充之后的字符串長(zhǎng)度,也就是該函數(shù)返回的字符串長(zhǎng)度,如果這個(gè)數(shù)量比原字符串的長(zhǎng)度要短,lpad函數(shù)將會(huì)把字符串截取成從左到右的n個(gè)字符;

           PAD_STRING :填充字符串,是個(gè)可選參數(shù),這個(gè)字符串是要粘貼到string的左邊,如果這個(gè)參數(shù)未寫(xiě),lpad函數(shù)將會(huì)在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() 函數(shù)從右邊對(duì)字符串使用指定的字符進(jìn)行填充,語(yǔ)法格式與LPAD格式相同:

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

         拼接——流水號(hào),時(shí)間,單號(hào):LPAD(流水號(hào) || 時(shí)間,6,'0')

二 、 NEXTVAL()  函數(shù)

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

        * 在Oracle數(shù)據(jù)庫(kù)中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其實(shí)是序列號(hào)生成器,可以為表中的行自動(dòng)生成序列號(hào),產(chǎn)生一組等間隔的數(shù)值(類型為數(shù)字)。其主要的用途是生成表的主鍵值,可以在插入語(yǔ)句中引用,也可以通過(guò)查詢檢查當(dāng)前值,或使序列增至下一個(gè)值。

總結(jié)

以上就是本文關(guān)于Oracle生成不重復(fù)票號(hào)與LPAD,RPAD與NEXTVAL函數(shù)解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹、oracle求字符串長(zhǎng)度函數(shù)length()和hengthb()簡(jiǎn)介等,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • oracle中文亂碼解決的辦法

    oracle中文亂碼解決的辦法

    oracle中文亂碼解決的辦法,需要的朋友可以參考一下
    2013-02-02
  • Oracle中pivot函數(shù)圖文實(shí)例詳解

    Oracle中pivot函數(shù)圖文實(shí)例詳解

    pivot操作是一種數(shù)據(jù)處理方法,可以將一個(gè)表中的行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),這種轉(zhuǎn)換對(duì)于表格數(shù)據(jù)的分析和展示非常有用,下面這篇文章主要給大家介紹了關(guān)于Oracle中pivot函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • ORACLE應(yīng)用經(jīng)驗(yàn)(1)

    ORACLE應(yīng)用經(jīng)驗(yàn)(1)

    ORACLE應(yīng)用經(jīng)驗(yàn)(1)...
    2007-03-03
  • zabbix監(jiān)控oracle表空間的操作方法

    zabbix監(jiān)控oracle表空間的操作方法

    Zabbix是一款開(kāi)源的網(wǎng)絡(luò)監(jiān)控和管理系統(tǒng),可以用于監(jiān)控各種網(wǎng)絡(luò)設(shè)備、服務(wù)器和應(yīng)用程序等,本文給大家介紹了zabbix監(jiān)控oracle表空間的操作方法,并通過(guò)代碼示例和圖文講解的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • oracle分區(qū)索引的失效和重建代碼示例

    oracle分區(qū)索引的失效和重建代碼示例

    這篇文章主要介紹了oracle分區(qū)的失效和重建代碼示例,小編覺(jué)得挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • Oracle數(shù)據(jù)庫(kù)并行查詢出錯(cuò)的解決方法

    Oracle數(shù)據(jù)庫(kù)并行查詢出錯(cuò)的解決方法

    這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)并行查詢出錯(cuò)的解決方法,需要的朋友可以參考下
    2014-07-07
  • Oracle數(shù)據(jù)庫(kù)下載與安裝的完整步驟

    Oracle數(shù)據(jù)庫(kù)下載與安裝的完整步驟

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)下載與安裝的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Oracle 函數(shù)大全

    Oracle 函數(shù)大全

    小編為大家整理了 Oracle 常用的函數(shù),大家可以參考一下,希望對(duì)大家有所幫助。
    2016-05-05
  • oracle臨時(shí)表空間的作用與創(chuàng)建及相關(guān)操作詳解

    oracle臨時(shí)表空間的作用與創(chuàng)建及相關(guān)操作詳解

    Oracle可能會(huì)需要使用到一些臨時(shí)存儲(chǔ)空間,用于臨時(shí)保存解析過(guò)的查詢語(yǔ)句以及在排序過(guò)程中產(chǎn)生的臨時(shí)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于oracle臨時(shí)表空間的作用與創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 查詢Oracle數(shù)據(jù)庫(kù)表是否被鎖的實(shí)現(xiàn)方式

    查詢Oracle數(shù)據(jù)庫(kù)表是否被鎖的實(shí)現(xiàn)方式

    本文介紹了查詢Oracle數(shù)據(jù)庫(kù)表是否被鎖的方法,包括查詢鎖表的會(huì)話、人員信息,根據(jù)object_id查詢表名,以及根據(jù)會(huì)話ID查詢和停止本地進(jìn)程,同時(shí),還提到在嘗試加鎖之前判斷記錄是否已經(jīng)被鎖定,以避免鎖定已鎖定的記錄
    2025-02-02

最新評(píng)論

禹城市| 牟定县| 博乐市| 丘北县| 镶黄旗| 岳普湖县| 昆明市| 河曲县| 邯郸县| 巨野县| 璧山县| 海原县| 巴林左旗| 迁西县| 威宁| 英吉沙县| 拉萨市| 含山县| 秦皇岛市| 三台县| 辽中县| 遂宁市| 土默特左旗| 佛冈县| 桃源县| 阳原县| 红安县| 育儿| 淮滨县| 合肥市| 石阡县| 襄樊市| 凌源市| 新源县| 酉阳| 英山县| 贵定县| 留坝县| 孟州市| 临西县| 乌兰察布市|