请问mysql中null与空值有什么区别?
网友回复
一、长度不同:
NULL长度就是NULL,一个空字符串的长度是0。
二、排序:
NULL在空字符串之前排序。
三、count统计
COUNT(message)将包含含空字符串的字段,但不计算值为NULL的字段。
四、where查询
您可以使用绑定变量搜索空字符串,但不能搜索NULL。该查询:SELECT * FROM mytable WHERE mytext = ?无论您从客户端传递的值是什么,都永远不会匹配NULL的字段。要匹配NULL,您必须使用其他查询:
SELECT * FROM mytable WHERE mytext IS NULL五、实例讲解
例如,以下语句完全不同:
mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES ('');
这两个语句都会在该phone列中插入一个值,但是第一个语句将插入一个 NULL值,第二个语句将 插入一个空字符串。
第一个的含义可以视为 “未知电话号码”,第二个的含义可以视为“已知该人没有电话,因此也没有电话号码”。” 为了帮助NULL处理,可以使用 I...
点击查看剩余70%