首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL NULL特性

NULL是一种“没有类型”的,通常表示“无”,“未知”,“缺失”,“超界”,“不在其中”等,我们在日常运用中很容易和NULL字符串混淆,这里大致整理了下NULL的一些特性,以便能够正确使用NULL...1,创建表时字段时若未添加默认,则默认为NULL 2,NULLNULL字符串的区别 1)NULL不区分大小写,查询时都显示为大写NULL,而NULL字符串则显示为插入时候的大小写,查询的时候根据字符集是否区分大小写筛选...2)NULL字符串可以当作普通字符串进行处理,而NULL的判断只有is null和 is not null,见第5点 3,插入数据时若不指定,如果没其它默认,会用默认NULL 4,当插入大写...NULL字符时,就很难区别NULLNULL还是NULL字符串了,这时需要用到NULL的判断,NULL的判断只有is NULL和is not NULL 通过肉眼很难区别,这里通过NULL的判断...,可以看到id2为NULL的只有3行,非NULL的有7行,而为NULL字符串的有4行 5,SQL里面对NULL的处理函数有isnull(expr)(返回is NULL的逻辑判断结果)和ifnull

2.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL中的Null处理

    在日常的开发中,遇到需要处理 Null 的场景还是蛮常见的。比如,查询某个字段包含 Null 的记录、在展示的时候将 Null 转为其它、聚合包含 Null 的列等。...今天就和大家聊聊在 MySQL 中处理 Null 时需要注意的点,本文包含以下内容: 查找 Null Null 转为实际 在排序中对 Null 的处理 计算非 Null 的数量 聚合...Null 列 1 查找 Null 查找 Null 不能使用 “=”,而应该使用“is Null”。...2 将 Null 转为实际 有时候做报表展示的时候,我们不希望将 Null 直接展示出来,而是转为其它。比如,是数值类型的字段就展示成 0,是字符串类型就展示成空白字符。...3 处理排序中的 Null 如果是使用默认的升序对包含有 Null 的列做排序,有 Null 的记录会排在前面,而使用了降序排序,包含了 Null 的记录才会排在后面。

    2.8K30

    删除列中的 NULL

    图 2 输出的结果 先来分析图 1 是怎么变成图 2,图1 中的 tag1、tag2、tag3 三个字段都存在 NULL ,且NULL无处不在,而图2 里面的NULL只出现在这几个字段的末尾。...这个就类似于 Excel 里面的操作,把 NULL 所在的单元格删了,下方的单元格往上移,如果下方单元格的仍是 NULL,则继续往下找,直到找到了非 NULL 来补全这个单元格的内容。...有一个思路:把每一列去掉 NULL 后单独拎出来作为一张独立的表,这个表只有两个字段,一个是序号,另一个是去 NULL 后的。...NULL AS tag2, 'ccc5' AS tag3), # 去 NULL ,列转行 t2 AS (SELECT tag1 AS tag, 'tag1' AS col,...,目的是维持同一列中的的相对顺序不变。

    9.8K30

    Null 及其处理方式

    Null 的由来 Null 由来已久,它最早是由 Tony Hoare 图方便而创造的,后来被证明这是个错误,而他本人也对此进行了道歉,并称之为「十亿美金错误」1。...也就是 NULL就是 0,而 C 语言的实现必须保证这个与任意对象和函数的地址不重复,C 语言以此来表示指针的一个特殊状态,即不指向任何有意义的对象和函数。...至于 Python 这边,就比 Java 要好点,因为 Python 是动态类型的语言,所以不用考虑搞什么特殊来表示 null,直接用一个特殊的类的对象来表示就可以了,只要大家约定好,都用一个类型的一个来表示...因为你并不知道一个东西到底是一个具体的对象还是一个 null 。一个函数说它会返回一个 String 类型的对象,这是真的吗?...利用参数化类型表示 事实上,null 表达的只不过是一个可选的或状态,可能有,可能没有,这就有了另一种处理 null 的方式,它来源于 ML 系的语言(例如:SML,OCaml,Haskell 等)

    1.2K40
    领券