在 SQL 中,可以使用 CASE WHEN
语句来处理复杂的条件逻辑。CASE WHEN
语句允许你根据一个或多个条件返回不同的值。以下是一个基本的 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
是根据 condition1
和 condition2
的值计算得出的新列。
对于更复杂的条件逻辑,你可以使用多个 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
运算符反转条件:SELECT
column1,
column2,
CASE
WHEN NOT condition1 THEN result1
ELSE result2
END AS new_column
FROM
your_table;
请注意,具体的语法可能因你使用的 SQL 数据库系统而异。上述示例适用于大多数 SQL 数据库系统,包括 MySQL、PostgreSQL、SQL Server 等。在使用时,请确保查阅相应数据库系统的文档以了解具体的语法和用法。