本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
NULLIF 函數
語法
NULLIF 表達式比較兩個引數,如果引數相等,則傳回 Null。如果不相等,則傳回第一個引數。此表達式與 NVL 或 COALESCE 表達式相反。
NULLIF ( expression1, expression2 )
引數
- expression1、expression2
-
比較的目標欄或表達式。傳回類型與第一個表達式的類型相同。NULLIF 結果的預設欄名為第一個表達式的欄名。
範例
在下列範例中,查詢會傳回字串 first
,因為引數不相等。
SELECT NULLIF('first', 'second');
case ------- first
在下列範例中,查詢會傳回 NULL
,因為字串常值引數相等。
SELECT NULLIF('first', 'first');
case ------- NULL
在下列範例中,查詢會傳回 1
,因為整數引數不相等。
SELECT NULLIF(1, 2);
case ------- 1
在下列範例中,查詢會傳回 NULL
,因為整數引數相等。
SELECT NULLIF(1, 1);
case ------- NULL
在下列範例中,當 LISTID 和 SALESID 值相符時,查詢會傳回 Null:
select nullif(listid,salesid), salesid from sales where salesid<10 order by 1, 2 desc; listid | salesid --------+--------- 4 | 2 5 | 4 5 | 3 6 | 5 10 | 9 10 | 8 10 | 7 10 | 6 | 1 (9 rows)