解决方案
完整的语法取决于我们使用的数据库引擎:
对于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
