当前位置: 首页 > news >正文

SQL中 <>(不等于)运算符只会匹配那些具有非空值的记录

0. 场景

idflag
11
2null
3

一张表的有有个varchar类型的flag字段,字段值有 null值/值和 '1'
flag为 1即表示逻辑删除,我想找出flag字段非 1 的所有情况:

  • 一开始sql写法:
    • select * from table where flag<>‘1’
    • 理想情况,结果集应该有2条记录(id为 2 和 3 的记录)
    • 实际情况只出现了 id为 3 的记录,即flag为空值的记录

1. 解释

在SQL中,使用 <>(不等于)运算符时,它只会匹配那些具有非空值的记录。如果某个字段的值为 NULL,它实际上是未知的,因此无法确定它是否等于任何特定的值,包括 ‘1’。

要包括 NULL 值,你可以使用 IS NULL 条件。因此,你可以使用以下查询来获取 flag字段值不等于 ‘1’ 或者为 NULL 的记录:

select * from table where flag<>‘1’ or flag is null

http://www.lryc.cn/news/218119.html

相关文章:

  • 冒泡排序(Java)
  • k8s集群调度
  • Scala中类的继承、抽象类和特质
  • 小程序如何实现登录数据持久化
  • Maven本地配置获取nexus私服的依赖
  • 第02章-变量与运算符
  • SpringBoot数据响应、分层解耦、三层架构
  • go测试库之apitest
  • K8S删除资源后一直处于Terminating状态无法删除解决方法
  • jvm实践
  • redis-plus-plus访问REDIS集群
  • python把Word题库转成Excle题库
  • 算法通关村第六关-白银挑战树
  • 【Java对象】一文读懂 Java 对象庐山真面目及指针压缩
  • leetcode做题笔记210. 课程表 II
  • 【深度学习 AIGC】stable diffusion webUI 使用过程,参数设置,教程,使用方法
  • 论文阅读 - Detecting Social Bot on the Fly using Contrastive Learning
  • PaddleMIX学习笔记(1)
  • 【网络协议】聊聊HTTPS协议
  • 2023.11.2事件纪念
  • Scala和Play WS库编写的爬虫程序
  • 佳易王配件进出库开单打印进销存管理系统软件下载
  • 【深度学习基础】专业术语汇总(欠拟合和过拟合、泛化能力与迁移学习、调参和超参数、训练集、测试集和验证集)
  • 【C语言:函数栈帧的创建与销毁】
  • 怎么在C++中实现云端存储变量
  • 短视频矩阵营销系统工具如何助力商家企业获客?
  • PCL 计算一个平面与包围盒体素的相交线
  • 面向教育的计算机视觉和深度学习5
  • FPGA芯片内部结构
  • 人工智能AI创作系统ChatGPT网站系统源码+AI绘画系统支持GPT4.0/支持Midjourney局部重绘