mysql的空值与NULL的区别

在 MySQL 中,BETWEEN  AND包含了 value1 和 value2 边界值

 

陷阱一:空值不一定为空   空值是一个比较特殊的字段。在MySQL数据库中,在不同的情形下,空值往往代表不同的含义。这是MySQL数据库的一种特性。如在普通的字段中(字符型的数据),空值就是表示空值。但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空。

一个是具有auto_increment属性的列。如果往这属性的列中插入Null值的话,则系统会插入一个正整数序列。

一个是具有TimesTamp数据类型的列。如果往这个数据类型的列中插入Null值,则其代表的就是系统的当前时间

而如果在其他数据类型中,如字符型数据的列中插入Null的数据,则其插入的就是一个空值。

陷阱二:空值不一定等于空字符

  在MySQL中,空值(Null)与空字符(’’)相同吗?答案是否定的。

一 是IS NULL 和IS NOT NULL关键字。如果要判断某个字段是否含用空值的数据,需要使用特殊的关键字。其中前者表示这个字段为空,后者表示这个字段为非空。在Select语句 的查询条件中这两个关键字非常的有用。

  二是Count等统计函数,在空值上也有特殊的应用。如现在需要统计用户信息表中有电话号码的用户数量,此时就可以使用count函数、同时将电话号 码作为参数来使用。因为在统计过程中,这个函数会自动忽略空值的数据。此时统计出来的就是有电话号码的用户信息。如果采用的是空字符的数据,则这个函数会 将其统计进去。统计刚才建立的两条记录时,系统统计的结果是1,而不是2。可见系统自动将Null值的数据忽略掉了。

判断空字符串‘’,要用 ='' 或者 <>''

posted @ 2016-06-23 10:35  He_quotes  阅读(501)  评论(0编辑  收藏  举报