sql - Sql 逻辑运算符.. AND & OR 组合
问题描述
我有一个过滤条件如下的sql代码
Select * from TABLE A
Where Col1<>0
and(col2 is not null or col3 is not null)
请解释为什么当 col2 和 col3 上的记录都为 NULL 时,我在输出中看不到任何记录。
这个怎么评价??
解决方案
Col1 的空检查应该是第一个条件。如果 Col1 为 null,则使用值检查 null,例如 Col1 = 0 或 Col1 <> 0 将始终返回 false。下面是处理 Col1 中的空值的另一种方法。
Select * from TABLE A
Where isnull(Col1, 0) <> 0
and col2 is not null
推荐阅读
- elasticsearch - Elasticsearch:id 与其他字段
- sql-server - Docker 为具有单独数据映像的数据库编写配置
- python - 将 .mdb 读取到 pandas DataFrame - FileNotFoundError
- database - 将我的自定义数据库连接到多个 BI 工具的最佳方法?
- mysql - 如果雇主与用户表中的多个用户映射,则从雇主表中提取数据
- javascript - 停止/暂停 clearTimeout 直到鼠标悬停
- sass - FontAwesome 的 fa-pulse 有 unicode 值吗?
- python - 使用模拟凭据测试 S3 操作
- javascript - 如何防止所有按钮在循环中被点击?
- google-analytics - Google Analytics Data API (ga4) 获取调用的当前用户的电子邮件或用户名