激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補(bǔ)償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

        Oracle數(shù)據(jù)庫(kù)中COALESCE函數(shù)使用詳解

        發(fā)布時(shí)間:  2012/9/8 16:37:10

        數(shù)據(jù)庫(kù)應(yīng)用軟件很多時(shí)候?qū)⒍嘀氐、相關(guān)的實(shí)體信息保存在同一個(gè)表格中。例如,購(gòu)買的零件和本地生產(chǎn)的零件都是零件,經(jīng)理和工人都是員工,盡管多重的實(shí)體類型在數(shù)據(jù)存儲(chǔ)上略有不同,但是它們有太多的相同之處,因此通常使用一個(gè)表格而不是兩個(gè)。

          處理這樣的表格通常意味著對(duì)每一行進(jìn)行條件測(cè)試來(lái)檢查哪個(gè)實(shí)體類型正在被處理,然后返回每種類型的不同結(jié)果集。CASE語(yǔ)句可以用來(lái)完成這一工作。
        -
         

          從Oracle 9i版開(kāi)始,COALESCE函數(shù)在很多情況下就成為替代CASE語(yǔ)句的一條捷徑,COALESCE的格式如下:

        QUOTE:
        COALESCE (expression_1, expression_2, ...,expression_n)


          列表中第一個(gè)非空的表達(dá)式是函數(shù)的返回值,如果所有的表達(dá)式都是空值,最終將返回一個(gè)空值。

          使用COALESCE的秘密在于大部分包含空值的表達(dá)式最終將返回空值(連接操作符“||”是一個(gè)值得注意的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此類推。

          這樣您就可以構(gòu)建一系列表達(dá)式,每個(gè)表達(dá)式的結(jié)果是空值或非空,這就像一個(gè)CASE語(yǔ)句,表達(dá)式按照順序進(jìn)行測(cè)試,第一個(gè)滿足條件的值就確定了結(jié)果。

          列表A展示了名為PARTS的表格的一部分,該表格存儲(chǔ)了購(gòu)買的零件數(shù)據(jù)和生產(chǎn)的零件數(shù)據(jù),如果是購(gòu)買的零件,那么part_type列的值為‘P’,如果是本地生產(chǎn)或組裝的則是‘B’;此外,對(duì)于購(gòu)買的零件,purchase_cost 列會(huì)顯示購(gòu)買成本,而本地生產(chǎn)的零件則是空值;而且,本地生產(chǎn)的零件還有material_qty和material_cost兩列的信息,對(duì)于購(gòu)買的零件則是空值。

        QUOTE:
        SQL> desc parts
        Name Null? Type
        PART_ID NOT NULL NUMBER(6)
        PART_TYPE NOT NULL CHAR(1)

        (other columns)

        PURCHASE_COST NUMBER(8,2)
        MATERIAL_COST NUMBER(8,2)
        MATERIAL_QTY NUMBER(6)
        LAST_UPDATED TIMESTAMP(6)
        UPDATED_BY VARCHAR2(30)


          列表A:
          您可以使用一個(gè)CASE語(yǔ)句來(lái)測(cè)試part_type列的值并返回either purchase_cost和material_qty列與material_cost列的乘積;不過(guò)COALESCE可以用一行語(yǔ)句解決這個(gè)問(wèn)題:

        QUOTE:
        COALESCE(purchase_cost, material_qty * material_cost)


          如果數(shù)據(jù)行中存儲(chǔ)的是一個(gè)購(gòu)買的零件,那么purchase_cost就不是空值,將返回purchase_cost的值;然而,對(duì)于本地生產(chǎn)的零件,purchase_cost是空值,COALESCE會(huì)忽略它,然后將material_qty和material_cost相乘,并將乘積作為結(jié)果返回。

        QUOTE:
        SELECT part_id "Part", part_type "Type",
        COALESCE(purchase_cost, material_qty * material_cost) "Cost"
        FROM parts;


          您可以對(duì)任何數(shù)量的表達(dá)式重復(fù)使用這個(gè)模式,COALESCE是一個(gè)非常便捷的方法對(duì)統(tǒng)一表格中的多重實(shí)體求值。

          最后,還要說(shuō)一點(diǎn)CASE語(yǔ)句的優(yōu)點(diǎn),就是CASE是自動(dòng)進(jìn)行文檔記錄的,這便于理解和解讀正在發(fā)生的事情。


        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
      10. 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號(hào)
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
          0
         
         
         
         

        0371-60135900
        7*24小時(shí)客服服務(wù)熱線