`
cocos
  • 浏览: 393917 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

mysql null

阅读更多
mysql> select 0 is null, 0 is not null,'' is null, '' is not null;

+-----------+---------------+------------+----------------+
| 0 is null | 0 is not null | '' is null | '' is not null |
+-----------+---------------+------------+----------------+
|         0 |             1 |          0 |              1 |
+-----------+---------------+------------+----------------+
1 row in set (0.00 sec)


进行NULL处理,可使用IS NULL和IS NOT NULL操作符以及IFNULL()函数。

查找NULL值,必须使用IS NULL测试

在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值,除非在关于操作符的文档中以及表达式的函数中作了其他规定。下述示例中的所有列均返回NULL:

mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);

+------+--------+--------------------------+
| NULL | 1+NULL | CONCAT('Invisible',NULL) |
+------+--------+--------------------------+
| NULL |   NULL | NULL                     |
+------+--------+--------------------------+
1 row in set (0.02 sec)


如果你正在使用MyISAM、InnoDB、BDB、或MEMORY存储引擎,能够在可能具有NULL值的列上增加1条索引。如不然,必须声明索引列为NOT NULL,而且不能将NULL插入到列中。

用LOAD DATA INFILE读取数据时,对于空的或丢失的列,将用''更新它们。如果希望在列中具有NULL值,应在数据文件中使用\N。在某些情况下,也可以使用文字性单词“NULL”。请参见13.2.5 “LOAD DATA INFILE语法”。

使用DISTINCT、GROUP BY或ORDER BY时,所有NULL值将被视为等同的。

使用ORDER BY时,首先将显示NULL值,如果指定了DESC按降序排列,NULL值将最后显示。

对于聚合(累计)函数,如COUNT()、MIN()和SUM(),将忽略NULL值。对此的例外是COUNT(*),它将计数行而不是单独的列值。例如,下述语句产生两个计数。首先计数表中的行数,其次计数age列中的非NULL值数目:

mysql> SELECT COUNT(*), COUNT(age) FROM person;
对于某些列类型,MySQL将对NULL值进行特殊处理。如果将NULL插入TIMESTAMP列,将插入当前日期和时间。如果将NULL插入具有AUTO_INCREMENT属性的整数列,将插入序列中的下一个编号。

分享到:
评论

相关推荐

    MySQL NULL 值处理实例详解

    MySQL NULL 值处理 我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS ...

    MySQL NULL 值处理

    MySQL NULL 值处理 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS ...

    Mysql NULL导致的神坑

    mysql> select 1>NULL; +--------+ | 1>NULL | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> select 1<NULL> select 1<>NULL; +---------+ | 1<>NULL | +---------+ | NULL | +---------+ ...

    2023年,MySQL最新最详细的教程资源 详细讲解了MySQL的各种用法

    MySQL NULL 值处理 MySQL 正则表达式 MySQL 事务 MySQL ALTER命令 MySQL 索引 MySQL 临时表 MySQL 复制表 MySQL 元数据 MySQL 序列使用 MySQL 处理重复数据 MySQL 及 SQL 注入 MySQL 导出数据 MySQL 导入数据 MySQL ...

    MySQLNULL值简介

    在MySQL中,NULL值意味着未知值。NULL值不是零或空字符”值。NULL值不等于其自身值。如果将NULL值与另一个NULL值或任何其他值进行比较,则结果为NULL,因为每个NULL值的值都是未知的。通常,使用NULL值来表示数据...

    MySQL null与not null和null与空值的区别详解

    相信很多用了MySQL很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候,到底... mysql中的NULL其实

    Mysql实现null值排在最前/最后的方法示例

    我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...

    MySQL 教程 开发文档 从基础到精通

    MySQL NULL 值处理 二十二. MySQL 正则表达式 二十三. MySQL 事务 二十四.MySQL ALTER命令 二十五. MySQL 索引 二十六. MySQL 临时表 二十七. MySQL 复制表 二十八. MySQL 元数据 二十九. MySQL 序列使用 三十. ...

    NOT NULL 和NULL

    如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL 在 MySQL 中, 为一个 NOT NULL 字段设置 NULL 值 , 它并不会出错, MySQL 会自动将 NULL值转化为该字段的默认值, 那怕是你在表定义时没有...

    为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》.doc

    为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》.doc

    mysql中null(IFNULL,COALESCE和NULLIF)相关知识点总结

    本文实例讲述了mysql中null(IFNULL,COALESCE和NULLIF)相关知识点。分享给大家供大家参考,具体如下: 在MySQL中,NULL值表示一个未知值,它不同于0或空字符串”,并且不等于它自身。 我们如果将NULL值与另一个...

    mysql中将null值转换为0的语句

    代码如下:SELECT IF(AVG(cai.conversionsRate) IS NULL,0,AVG(cai.conversionsRate)) AS conversionsRate... 您可能感兴趣的文章:mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录MySQL查询空字段或非空字段

    详解MySQL中的NULL值

    我们已经看到使用WHERE子句的SQL SELECT命令来从MySQL表获取数据。但是,当我们试图给的条件比较字段或列的值为NULL,它不能正常工作。 为了处理这种情况,MySQL提供了三大运算符 IS NULL: 此运算符返回true,当列...

    MySQL里的IFNULL、NULLIF和ISNULL用法

    用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下:  mysql中isnull,ifnull,nullif的用法如下:  isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。...

    MySQL 一千个不用 Null 的理由

    下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况。但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑...

    MySQL中的唯一性约束与NULL详解

    里记录的是很久之前的一个 bug 了,主要给大家介绍了关于MySQL中唯一性约束与NULL的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    MySql中的IFNULL、NULLIF和ISNULL用法详解

    今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。 ...

    mysql函数大全,mysql

    COALESCE它会返回列表中第一个非NULL的值,或者,如果不存在非NULL的值,它就会返回一个NULL INTERVALINTERVAL运算符提供另外一种对数字及其范围的控制。它接受一个数字列表(N0, N1, N2...),将N0与剩下的所有数字...

Global site tag (gtag.js) - Google Analytics