sql case表达式的用法有哪些

SQL CASE表达式有以下几种用法:

简单CASE表达式:

CASE expression
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ...
    ELSE resultN
END

根据expression的值,依次匹配value1、value2等,如果匹配成功则返回对应的result值,如果没有匹配成功则返回resultN值。

搜索CASE表达式:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE resultN
END

根据condition的值,依次匹配condition1、condition2等,如果匹配成功则返回对应的result值,如果没有匹配成功则返回resultN值。

CASE表达式用于聚合函数:

SUM(CASE WHEN condition1 THEN 1 ELSE 0 END)

根据condition的值计算SUM函数的结果。

CASE表达式用于更新数据:

UPDATE table
SET column = CASE
                WHEN condition1 THEN value1
                WHEN condition2 THEN value2
                ...
                ELSE valueN
            END

根据condition的值更新column的值。

CASE表达式用于连接查询:

SELECT column1, column2,
       CASE
           WHEN condition1 THEN result1
           WHEN condition2 THEN result2
           ...
           ELSE resultN
       END AS new_column
FROM table

根据condition的值计算result,并将其作为new_column返回。

阅读剩余
THE END