首頁  >  文章  >  資料庫  >  sql中coalesce函數用法

sql中coalesce函數用法

下次还敢
下次还敢原創
2024-05-01 22:01:06520瀏覽

SQL 中 COALESCE 函數用於處理 NULL 值,將表達式清單中的第一個非 NULL 值傳回,如果所有表達式都為 NULL,則傳回預設值。它主要用於替換 NULL 值、提供預設值和級聯檢查。如需取代 NULL 值,可使用 COALESCE(expr1, expr2, ...)。提供預設值,可使用 COALESCE(expr1, expr2, ..., default_value)。級聯檢查,可使用 COALESCE(expr1, expr2, ...)。

sql中coalesce函數用法

SQL 中COALESCE 函數用法

COALESCE 函數是SQL 中常用的函數,用來處理NULL 值。它可以將多個表達式作為一個參數列表,並傳回第一個非 NULL 值。如果所有表達式為 NULL,則傳回預設值。

語法

COALESCE(expr1, expr2, ..., exprN, default_value)

#其中:

  • expr1, expr2, ..., exprN:要檢查的表達式。
  • default_value:如果所有表達式都為 NULL,則傳回的預設值(可選)。

用法

COALESCE 函數主要用於處理下列情境:

  • 取代NULL 值: COALESCE 函數可以將NULL 值替換為其他非NULL 值,從而確保資料完整性。
  • 提供預設值:當沒有可用資料時,COALESCE 函數可以提供一個預設值,以防止錯誤或意外結果。
  • 級聯檢查:COALESCE 函數可以級聯檢查多個表達式,直到找到一個非 NULL 值。

範例

1. 取代NULL 值

<code class="sql">SELECT COALESCE(name, 'Unknown') FROM users;</code>

這會將name列中的所有NULL 值都替換為字串"Unknown"。

2. 提供預設值

<code class="sql">SELECT COALESCE(age, 0) FROM users;</code>

這會在 age 欄位中將所有 NULL 值替換為數字 0。

3. 級聯檢查

<code class="sql">SELECT COALESCE(address, city, country) FROM users;</code>

這會先檢查 address 列中的值。如果 address 為 NULL,它會檢查 city 欄位的值。如果 city 也為 NULL,則傳回 country 欄位的值。

注意事項

  • COALESCE 函數不接受空參數清單。
  • COALESCE 函數傳回第一個非 NULL 值,而不是表達式清單中所有非 NULL 值的清單。
  • 如果所有表達式都為 NULL 且沒有提供 default_value,則 COALESCE 函數傳回 NULL。

以上是sql中coalesce函數用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn