sql 中的 decode 函數是一個轉換函數,用于根據給定的條件將輸入表達式轉換為指定的值。其語法如下:decode(expression, value1, result1, value2, result2, …, default_result)decode 函數逐個檢查條件,找到匹配項返回相應結果,否則返回默認結果。等同于 case when 語句,但更簡潔易讀。
SQL 中的 DECODE 函數
問題:SQL 中的 DECODE 函數是什么?
回答: DECODE 函數是一個轉換函數,用于將輸入表達式轉換為指定的值,具體取決于給定的條件。
詳細說明:
DECODE 函數的語法如下:
<code>DECODE(expression, value1, result1, value2, result2, ..., default_result)</code>
登錄后復制
其中:
expression:要評估的表達式。
value1, value2, …:要檢查的條件。
result1, result2, …:當相應條件為真時要返回的值。
default_result:當所有條件都為假時要返回的值。
DECODE 函數逐個檢查給定的條件。當找到與 expression 匹配的條件時,它將返回相應的 result。如果找不到匹配的條件,它將返回 default_result。
示例:
假設我們有一個名為 “gender” 的列,其值可以是 “M”(男性)或 “F”(女性)。我們可以使用 DECODE 函數將 “gender” 值轉換為以下表示:
<code>SELECT DECODE(gender, 'M', 'Male', 'F', 'Female', 'Unknown') AS gender_display FROM table_name;</code>
登錄后復制
這個查詢將返回以下結果:
gender | gender_display |
---|---|
M | Male |
F | Female |
NULL | Unknown |
注意: DECODE 函數等同于 CASE WHEN 語句。然而,DECODE 函數通常更簡潔且易于閱讀。