在 SQL 中,可以使用 CASE WHEN
語句來處理復(fù)雜的條件邏輯。CASE WHEN
語句允許你根據(jù)一個或多個條件返回不同的值。以下是一個基本的 CASE WHEN
語句的示例:
SELECT
column1,
column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END AS new_column
FROM
your_table;
在這個示例中,column1
和 column2
是從 your_table
中選擇的列,而 new_column
是根據(jù) condition1
和 condition2
的值計算得出的新列。
對于更復(fù)雜的條件邏輯,你可以使用多個 CASE WHEN
語句嵌套在一起,或者使用 AND
、OR
和 NOT
運算符來組合條件。以下是一些示例:
CASE WHEN
語句嵌套:SELECT
column1,
column2,
CASE
WHEN condition1 THEN
CASE
WHEN condition2 THEN result1
ELSE result2
END
ELSE
CASE
WHEN condition3 THEN result3
ELSE result4
END
END AS new_column
FROM
your_table;
AND
和 OR
運算符組合條件:SELECT
column1,
column2,
CASE
WHEN condition1 AND condition2 THEN result1
WHEN condition1 OR condition2 THEN result2
ELSE result3
END AS new_column
FROM
your_table;
NOT
運算符反轉(zhuǎn)條件:SELECT
column1,
column2,
CASE
WHEN NOT condition1 THEN result1
ELSE result2
END AS new_column
FROM
your_table;
請注意,具體的語法可能因你使用的 SQL 數(shù)據(jù)庫系統(tǒng)而異。上述示例適用于大多數(shù) SQL 數(shù)據(jù)庫系統(tǒng),包括 MySQL、PostgreSQL、SQL Server 等。在使用時,請確保查閱相應(yīng)數(shù)據(jù)庫系統(tǒng)的文檔以了解具體的語法和用法。