You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

筛选字段为0值与NULL值的SQL查询语句解析

零值与NULL值混查SQL语句说明

需求是查出表中指定字段值为0、以及值为NULL的所有记录,对应的SQL语句如下:

SELECT ename,comm 
FROM emp
WHERE ISNULL(comm,0)= 0;
  • 基础逻辑:这条语句查询的是员工表emp的数据,最终只返回员工姓名ename、佣金comm两个字段。
  • 筛选规则说明:
    ISNULL()是SQL中很常用的空值替换函数,传入两个参数时的运行逻辑是:如果第一个参数(这里是佣金字段comm)的值为NULL,就返回第二个参数设置的默认值(这里设置的是0);如果第一个参数不是NULL,就直接返回第一个参数本身的存储值。
    后面拼接= 0的判断,刚好可以一次性把两类符合需求的记录筛出来:
    1. 佣金comm字段本身存储的数值就是0的记录,函数直接返回0,匹配判断条件
    2. 佣金comm字段值为NULL的记录,函数会先把NULL替换成0,同样匹配判断条件

注意:ISNULL函数不是所有数据库都通用,比如Oracle中实现相同逻辑需要换成NVL(comm,0)=0,PostgreSQL中可以用标准SQL的COALESCE(comm,0)=0,跨数据库使用时记得适配语法,否则会报函数不存在的错误。

内容的提问来源于stack exchange,提问作者CoCo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 00:09:14