解决方案
完整的语法取决于我们使用的数据库引擎:
对于SQL Server:
CASE case-expression WHEN when-expression-1 THEN value-1 [ WHEN when-expression-n THEN value-n ... ] [ ELSE else-value ] END
或者:
CASE WHEN boolean-when-expression-1 THEN value-1 [ WHEN boolean-when-expression-n THEN value-n ... ] [ ELSE else-value ] END
在PostgreSQL中:
SELECT a, CASE WHEN a=1 THEN 'one' WHEN a=2 THEN 'two' ELSE 'other' END FROM test;
或者
SELECT a, CASE a WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'other' END FROM test;
Oracle写法
CASE { simple_case_expression | searched_case_expression } [ else_clause ] END
simple_case_expression 示例
expr { WHEN comparison_expr THEN return_expr }...
searched_case_expression 示例
{ WHEN condition THEN return_expr }...
else_clause 示例
ELSE else_expr
日期:2020-03-24 21:58:06 来源:oir作者:oir