MySQL的COALESCE函數用于返回參數列表中的第一個非NULL值。如果所有參數都為NULL,則返回NULL。
COALESCE函數的語法如下:
COALESCE(value1, value2, …)
其中,value1, value2, … 是要檢查的值。
COALESCE函數的作用是在需要從多個列或表中選擇一個非NULL值時,可以簡化查詢語句的編寫。它常用于SELECT語句中的列選擇和條件判斷。
例如,假設有一個表格包含了產品名稱、價格和折扣信息,如果折扣信息不為空,就使用折扣價作為最終價格;否則使用原始價格。可以使用COALESCE函數來實現:
SELECT productName, COALESCE(discountPrice, originalPrice) AS finalPrice FROM products
在上述示例中,如果discountPrice不為空,則finalPrice為discountPrice,否則為originalPrice。
COALESCE函數還可以用于條件判斷,例如:
SELECT productName FROM products WHERE COALESCE(discountPrice, originalPrice) > 100
在上述示例中,如果discountPrice不為空,則使用discountPrice進行比較,否則使用originalPrice進行比較。如果滿足條件,則返回產品名稱。
通過使用COALESCE函數,可以簡化查詢語句的編寫,減少重復代碼,并且提高查詢的可讀性。