程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 將空值轉換為實際值,值轉換實際值

將空值轉換為實際值,值轉換實際值

編輯:Oracle教程

將空值轉換為實際值,值轉換實際值


創建測試用表:

CREATE OR REPLACE VIEW v AS
SELECT NULL AS c1, NULL AS c2, '1' AS c3, NULL AS c4, '2' AS c5 FROM dual
UNION ALL
SELECT NULL AS c1, NULL AS c2, NULL AS c3, '3' AS c4, '2' AS c5 FROM dual;
SELECT * FROM v;

如果要查詢列c3的值,當c3列為空時,把它顯示為0,有以下兩種方式:

-- 使用nvl函數
SELECT NVL(c3, '0') c3 FROM v;

-- 使用coalesce函數
SELECT COALESCE(c3, '0') c3 FROM v;

查詢結果如下:

如果要查詢列c1到c5中,第一個不為空的值,也有下面的兩種方式:

-- 方法一
SELECT NVL(NVL(NVL(NVL(c1, c2), c3), c4), c5) AS c from v;

-- 方法二
SELECT COALESCE(c1, c2, c3, c4, c5) AS c FROM v;

查詢結果如下:

可以看到,相對於nvl來說,coalesce支持多個參數,能很方便的返回第一個不為空的值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved