网站建设公司知名企业,北京seo做排名,上海餐饮网站建设,google网页版登录入口文章目录1. 检查是否为 NULL2. NULL 值与比较运算符3. 在聚合函数中处理 NULL4. 在 WHERE 子句中的复杂条件注意事项在 PostgreSQL 中处理 NULL 值需要特别注意#xff0c;因为 NULL 表示未知或不存在的值#xff0c;与普通值的行为不同。以下是几种…
文章目录1. 检查是否为 NULL2. NULL 值与比较运算符3. 在聚合函数中处理 NULL4. 在 WHERE 子句中的复杂条件注意事项在 PostgreSQL 中处理 NULL 值需要特别注意因为 NULL 表示未知或不存在的值与普通值的行为不同。以下是几种处理 NULL 值的 SQL 条件写法
1. 检查是否为 NULL
-- 使用 IS NULL 检查 NULL 值
SELECT * FROM table_name WHERE column_name IS NULL;-- 使用 IS NOT NULL 检查非 NULL 值
SELECT * FROM table_name WHERE column_name IS NOT NULL;2. NULL 值与比较运算符
-- 以下写法不会返回任何行因为 NULL 不能与任何值比较
SELECT * FROM table_name WHERE column_name NULL; -- 错误写法
SELECT * FROM table_name WHERE column_name ! NULL; -- 错误写法-- 正确写法是使用 IS NULL 或 IS NOT NULL3. 在聚合函数中处理 NULL
-- COUNT 会忽略 NULL 值
SELECT COUNT(column_name) FROM table_name; -- 只计算非 NULL 值
SELECT COUNT(*) FROM table_name; -- 计算所有行包括 NULL 值-- 其他聚合函数如 SUM, AVG 也会忽略 NULL 值4. 在 WHERE 子句中的复杂条件
-- 查找值为 NULL 或满足特定条件的行
SELECT * FROM table_name
WHERE column_name IS NULL OR column_name some_value;-- 查找值不为 NULL 且满足特定条件的行
SELECT * FROM table_name
WHERE column_name IS NOT NULL AND column_name LIKE A%;注意事项
NULL 不等于空字符串 ‘’也不等于 0任何与 NULL 的算术运算结果都是 NULL在 UNIQUE 约束中NULL 值被视为彼此不同允许多个 NULL 值在 ORDER BY 中NULL 值默认排在最后可使用 NULLS FIRST/NULLS LAST 调整