mysql中查询字段为null的数据navicat问题

目录
  • mysql查询字段为null的数据navicat
  • mysql中字段为空,null值遇到坑了
    • 解决办法
  • 总结

mysql查询字段为null的数据navicat

查询数据为null的数据varchar字段

默认为(null)所以查询的语句是

select  * from cases where name is null    查询字段为null
select  * frim cases where name is not null   查询字段不为null

mysql中字段为空,null值遇到坑了

众所周知, Mysql是我们使用最多的数据库之一, 小编今天在进行查询数据的时候遇到个 不等于 xxx数据的时候出现的一个数据缺失的问题, 那么接下来就进行讨论一下吧!!

背景

测试: 你来看下, 这个查询条件查询出来的数据不太对, 总共数据 100条, 等于 的时候有 30条,不等于 的时候有 60条, 还有10条数据呢? 这算是一个bug, 我先录进去, 你后面改改!

我: 好的好的。

卑微开发, 在线听话

思路, 先把SQL 整出来, 然后放在navicat中执行一次, 然后发现了个问题, 不等于它只会把 不等于这个值的数据, 和空值查询出来, 但是null值他不会查询出来。

下面是我随便创建的一个表,能达到效果就好, 表数据

上SQL:

select * from student where `NAME` <> 'zhangsan' 

执行结果:

解决办法

再加个判空的数据

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Navicat For MySQL的简单使用教程

    1.前提是必须先安装好MySQL数据库(Mac下安装MySQL数据库见前一篇) 2.安装Navicat 3.点击navicate左上角:连接->MySQL->先测链接下,如果提示连接成功,就可以填写连接名,点击连接即可. 双击刚创建的连接下面会有四个数据库 用naVicate的命令行来查看该连接下有多少个数据库:先选择连接->导航栏上面的工具->命令列界面,此时会弹出一个命令窗口-> 输入:show databases;(注意后面一定要带分号) 使用相关数据库:use tes

  • 一文读懂navicat for mysql基础知识

    一.数据库的操作 1.新建数据库 2.打开数据库 右键或者双击就可以了. 3.删除数据库 右键–>删除数据库 4.修改数据库 右键–>数据库属性 二.数据类型 1.常用的数据类型 整数:int 小数:decimal 字符串:varchar 日期时间:datatime 2.约束条件 主键:物理上储存的顺序(主键唯一.不能为空,所以允许空值的勾得去掉,不然不能新建或保存,还可以选择下面注释中得自动递增节省工作量) 非空:此字段不允许填空值 唯一:此字段不允许重复 默认值:当不填写时会使用默认值,如

  • Mysql中的NULL和Empty String

    最近新接触Mysql,昨天新建一个表用于存储表结构信息: create table tablist(TABLE_SCHEMA varchar(40),TABLE_NAME varchar(40),COLUMN_NAME varchar(40),COLUMN_TYPE varchar(40), IS_NULLABLE varchar(10),COLUMN_DEFAULT varchar(40),COLUMN_COMMENT varchar(1000),REMARK varchar(2000));

  • mysql中查询字段为null的数据navicat问题

    目录 mysql查询字段为null的数据navicat mysql中字段为空,null值遇到坑了 解决办法 总结 mysql查询字段为null的数据navicat 查询数据为null的数据varchar字段 默认为(null)所以查询的语句是 select  * from cases where name is null    查询字段为null select  * frim cases where name is not null   查询字段不为null mysql中字段为空,null值遇到

  • MySQL中查询字段为空或者为null的方法

    目录 MySQL查询字段为空或者为null 判断为null 判断为空或空格 MySQL查询字段为空(null)时设置默认值 总结 MySQL查询字段为空或者为null 判断为null select * from table where  column is null; 不为null: select * from table where  column is not null; 判断为空或空格 select * from table where column =''; 注:不管是空还是其中有空格都

  • MySQL中查询某一天, 某一月, 某一年的数据代码详解

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天(包括昨天和今天的数据) SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 昨天(只包括昨天) SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())=-1; -- 同理,查询前天的就是-2 近7天 SELECT * FROM 表名 where DATE_SUB(CURD

  • MySQL中查询当前时间间隔前1天的数据

    1.背景 实际项目中我们都会遇到分布式定时任务执行的情况,有时定时任务执行的时候如果查询的数据量比较大时,我们会选择执行时间间隔几天前的数据筛选后进行执行. 避免执行全量的数据导致内存占用过大或执行时间过长导致OOM等问题. 这里我们就会用到SQL来过滤当前时间间隔1天或几天的查询. 1.1.查询SQL语句 这里用到一张talk_course表作为查询sql语句的执行表单,表的字段如下: 表中大致有如下几条测试数据: 查询距离当前执行时间前一天的SQL语句如下: # 查询距离当前时间前1天的数据

  • MySQL中查询json格式的字段实例详解

    工作开发过程遇到一个需求:需要动态存储客户的姓名.手机号码.身份证.证件类型,意思是可能前端会传一个人或二个人或者三个人的信息是动态的不固定人数的四个字段(姓名.手机号码.身份证.证件类型). 前端页面如下: 我是使用List来接收前端传过来 json,mysql 用 varchar 来保存这个 json 数组 [{ "cardId": "110101199003072316", "cstName": "张双儿1", &quo

  • 区分MySQL中的空值(null)和空字符('')

    日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符. 空字符('')和空值(null)表面上看都是空,其实存在一些差异: 定义: 空值(NULL)的长度是NULL,不确定占用了多少存储空间,但是占用存储空间的 空字符串('')的长度是0,是不占用空间的 通俗的讲: 空字符串('')就像是一个真空转态杯子,什么都没有. 空值(NULL)就像是一个装满空气的杯子,含有东西. 二者虽然看起来都是空的.透明的,但是有着本质的区别. 区别: 在进行count()统计

  • MySQL中组合字段之concat()

    目录 1.简介 2.正文 2.1 字段拼接 2.2 字段执行算术计算 1.简介 MySQL是关系型数据库,我们在使用的时候往往会将对象的属性映射成列存储在表中,因此查询的到的结果在不做任何处理的情况下,也是一个个单独的属性:如果我们希望在MySQL中查询返回的结果集,能够将多个字段(列)的值组合起来返回.或者经过特定的计算后再返回,就可以使用MySQL提供的字段计算功能. 字段计算经常会用到如下两种: 字段拼接 字段执行算术计算 2.正文 MySQL中实现的字段组合都可以在客户机中完成,但是直接

  • MySQL中JSON字段数据类型详解

    目录 前言 创建JSON值 搜索JSON类型数据 在 JSON 和非 JSON 值之间转换 JSON 值的汇总 总结 前言 JSON 类型是从 MySQL 5.7 版本开始支持的功能,MySQL 支持由RFC 7159定义的本机JSON数据类型,该类型可有效访问 JSON(JavaScript 对象 table 示法)文档中的数据.与将 JSON 格式的字符串存储在字符串列中相比,JSON数据类型具有以下优点: 自动验证存储在JSON列中的 JSON 文档.无效的文档会产生错误. 优化的存储格式

  • mysql实现查询最接近的记录数据示例

    本文实例讲述了mysql实现查询最接近的记录数据.分享给大家供大家参考,具体如下: 查询场景:现在的需求是查询年龄最接近20岁的用户,获取前5个 我现在的数据库记录用户年龄的字段记录格式是"1995-05-20",字段名称birthday 解决思路: 1.首先查询时转换成用户年龄 日期格式转年龄的方法: (1)当前年份 - 日期格式中的年份 date_format(now(), '%Y') - from_unixtime(unix_timestamp(birthday), '%Y')

  • MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

    目录 TIMESTAMP类型返回日期时间数据中带有 T 场景描述 通过注解格式化(方法一) 通过全局配置(方法二) MySQL时间类型timestamp知识点 mysql日期时间类型 Timestamp实例 总结 TIMESTAMP类型返回日期时间数据中带有 T 场景描述 MySQL 中使用 TIMESTAMP 类型 实体类使用 java.util.Date 类型 返回 JSON 数据: 通过注解格式化(方法一) 可以在日期类型属性上,或者 GET 方法加上 Jackson 的 @JsonFor

随机推荐