關於Oracle中的nvl()函數的使用,中醫科查詢出院病人資訊報錯

來源:互聯網
上載者:User

標籤:函數   資訊   出錯   logs   變數   否則   image   參數   strong   

中醫科查詢出院病人資訊報下面的錯誤

然後看到該介面的sql為

 

 然後在plsql裡面運行該代碼,

報錯

處理方法:

1.確定報錯的位置

現在確定出錯的位置就是登出掉的那兩行代碼,

然後

然後這就是報錯的原因,

 是因為他的入院診斷有兩條

我想判斷一下,如果是中醫病區就取中醫的診斷否則取西醫的

但是寧哥給了一個更好的解決問題的方法

用NVL函數

在介紹這個之前你必須明白什麼是oracle中的空值null

1.NVL函數

NVL函數的格式如下:NVL(expr1,expr2)

含義是:如果oracle第一個參數為空白那麼顯示第二個參數的值,如果第一個參數的值不為空白,則顯示第一個參數本來的值。

 

2 NVL2函數

NVL2函數的格式如下:NVL2(expr1,expr2, expr3)

含義是:如果該函數的第一個參數為空白那麼顯示第二個參數的值,如果第一個參數的值不為空白,則顯示第三個參數的值

 

3. NULLIF函數

NULLIF(exp1,expr2)函數的作用是如果exp1和exp2相等則返回空(NULL),否則返回第一個值。

 

 

4.Coalesce函數

 

Coalese函數的作用是的NVL的函數有點相似,其優勢是有更多的選項。

 

格式如下:

 

Coalesce(expr1, expr2, expr3….. exprn)

 

表示可以指定多個運算式的預留位置。所有運算式必須是相同類型,或者可以隱性轉換為相同的類型。
返回運算式中第一個非空運算式,如有以下語句:   SELECT COALESCE(NULL,NULL,3,4,5) FROM dual   其返回結果為:3
如果所有自變數均為 NULL,則 COALESCE 返回 NULL 值。   COALESCE(expression1,...n) 與此 CASE 函數等價:

------------------------------------------------

所以寧哥把sql改為了

nvl((select jbmc from ys_zy_jbzd where zdlb = ‘入院診斷‘ and jbzh = 1 and znxh = 1 and zfbz = 0 and zxlb = 1 and tjbz = 1 and jzhm = zy_brry.zyh),(select jbmc from ys_zy_jbzd where zdlb = ‘入院診斷‘ and jbzh = 1 and znxh = 1 and zfbz = 0 and zxlb = 2 and tjbz = 1 and jzhm = zy_brry.zyh)) ryzd,


nvl((select jbmc from ys_zy_jbzd where zdlb = ‘出院診斷‘ and jbzh = 1 and znxh = 1 and zfbz = 0 and zxlb = 1 and tjbz = 1 and jzhm = zy_brry.zyh),(select jbmc from ys_zy_jbzd where zdlb = ‘出院診斷‘ and jbzh = 1 and znxh = 1 and zfbz = 0 and zxlb = 2 and tjbz = 1 and jzhm = zy_brry.zyh)) cyzd

----------------------------------------------------------------------------

 

關於Oracle中的nvl()函數的使用,中醫科查詢出院病人資訊報錯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.