首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Oracle SQL 查詢中字段值判斷:DECODE/CASE WHEN 實現 0 顯示為空

     編輯:程式設計綜合問答

需求

`SELECT A, B, C FROM TAB1`,若 `A=0` 則顯示為空字符串。

方案一:DECODE(Oracle 專用)

SELECT DECODE(A, 0, '', A) AS A, B, C FROM TAB1;

方案二:CASE WHEN(標準 SQL,跨庫兼容)

SELECT CASE WHEN A = 0 THEN '' ELSE TO_CHAR(A) END AS A, B, C FROM TAB1;

方案三:NULLIF + NVL(技巧)

SELECT NVL(NULLIF(A, 0), '') AS A, B, C FROM TAB1;

注意

  • 數字類型字段直接返回空字符串會隱式轉換類型,建議 `TO_CHAR` 顯式轉為字符串類型。
  • 若前端期望 `null` 而非 `''`,可直接 `NULLIF(A,0)` 返回 `null`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved