IF 条件表达式:
1. CASE WHEN ... THEN ... [WHEN ... THEN ...] [ELSE ...] END:
- 描述:执行基于条件的分支。
- 示例:
SELECT
CASE
WHEN grade > 90 THEN 'A'
WHEN grade > 80 THEN 'B'
WHEN grade > 70 THEN 'C'
ELSE 'D'
END AS result
FROM student_scores;
NULL 条件检查:
1. COALESCE:
- 描述:返回参数列表中的第一个非 NULL 值。
- 示例:
SELECT COALESCE(column_name, 'default_value') FROM table_name;
2. NULLIF:
- 描述:如果两个表达式的值相等,则返回 NULL;否则返回第一个表达式的值。
- 示例:
SELECT NULLIF(column1, column2) FROM table_name;
空字符串和非空字符串检查:
1. NULLIF 或 CASE WHEN ... THEN ... ELSE ... END:
- 描述:用于处理空字符串。
- 示例:
SELECT NULLIF(column_name, '') FROM table_name;
-- 或
SELECT
CASE
WHEN column_name = '' THEN 'N/A'
ELSE column_name
END AS result
FROM table_name;
条件函数:
1. COALESCE 和 NULLIF:
- 描述:可用于处理多个可能为空的值。
- 示例:
SELECT COALESCE(column1, NULLIF(column2, ''), 'default_value') FROM table_name;
EXISTS 条件:
1. EXISTS:
- 描述:用于检查子查询是否返回结果。
- 示例:
SELECT column_name FROM table_name WHERE EXISTS (SELECT * FROM another_table WHERE condition);
其他条件表达式:
1. GREATEST 和 LEAST:
- 描述:返回参数列表中的最大值或最小值。
- 示例:
SELECT GREATEST(column1, column2, column3) FROM table_name;
这些条件表达式和函数可以帮助你根据不同的条件执行相应的操作,使 SQL 查询更加灵活和具有逻辑。
转载请注明出处:http://www.zyzy.cn/article/detail/8188/PostgreSQL