Query

SQL CASE

根据条件分支返回不同结果。

适用版本/范围: 常见 SQL 条目,提供通用 SQL、MySQL/MariaDB、PostgreSQL、SQL Server、SQLite 与 Oracle Database 参考;语法和功能支持因数据库及版本而异。English

语法

CASE WHEN condition THEN value [ELSE value] END

用法示例

示例(标准风格语法);请确认数据库支持对应关键字。

SELECT name, CASE WHEN score >= 60 THEN 'pass' ELSE 'review' END AS result FROM exams;

SQLite 风格示例;实际方言行为可能不同。

SELECT name, CASE WHEN score >= 60 THEN 'pass' ELSE 'review' END AS result FROM exams;

参数、选项与子句

参数 / 子句说明
SELECT / expression选择输出列、表达式、别名或函数。
FROM / JOIN指定来源表并组合关联行。
WHERE在分组前筛选行;判断空值请使用 IS NULL。
GROUP BY / HAVING对行分组并筛选聚合后的分组。
ORDER BY对结果排序;通常默认 ASC,DESC 表示反向。
LIMIT / OFFSET / FETCH限制或跳过行;语法因数据库方言而异。

方言参考文档

安全提示

执行前请核对命令和目标路径。修改文件、服务、账户、磁盘、权限或数据库的操作可能难以撤销;建议先在安全环境测试并保留备份。

参考文档 ↗返回目录