在 MySQL 中,兩個問號(??)是一個特殊的運算符,它用于替換 NULL 值。在本文中,我們將探討兩個問號的含義及使用方法。
兩個問號的含義是:如果表達式的值為 NULL,則返回 NULL;否則,返回表達式本身的值。這個運算符經常用于替代 COALESCE 函數。
二、使用方法
下面是兩個問號的使用方法:
1. 替代 COALESCE 函數
COALESCE 函數用于返回參數列表中第一個非 NULL 值,如果所有參數都為 NULL,則返回 NULL。例如,以下查詢將返回第一個非 NULL 值:
n1n2n3) FROM table;
使用兩個問號可以替代 COALESCE 函數,如下所示:
n1n2n3 FROM table;
n1n2n3 中的第一個非 NULL 值。
2. 替代 IFNULL 函數
n1n1n2 的值:
n1n2) FROM table;
使用兩個問號可以替代 IFNULL 函數,如下所示:
n1n2 FROM table;
n1n1n2 的值。
3. 替代 CASE 函數
n1 的值返回不同的值:
n1e' WHEN 2 THEN 'two' ELSE 'other' END FROM table;
使用兩個問號可以替代 CASE 函數,如下所示:
n1n1 IN (1, 2);
n1n1 為 NULL,則返回 'other'。
兩個問號是一個特殊的運算符,用于替換 NULL 值。它可以替代 COALESCE 函數、IFNULL 函數和 CASE 函數。在使用兩個問號時,需要注意對表達式的計算順序和結果類型的影響。