空串(‘’)与null的差异
在Oracle数据库中,null和空字符串存储在数据库中是等价的,空字符串(empty string)在数据库中是不能存储的,会被当做null处理。mysql会保持插入数据的原始含义,即插入的null在数据库中存储null、插入空串(‘’)在数据库中存储空串,而且null不能和空字符串进行比较,因为其含义不同,所以插入的空字符串不会在数据库层面被转化成null,同时非空约束下不可以插入null,但是可以插入空串。所以有时你可能会发现为空的判断,查询不出数据来。严谨一点的条件是:XX='' 或者 XX=常量空常量有三个状态,常量.是、常量.否、常量空,文本空只是没有文本,并不一定是常量空,这两者类型上是有区别的
页:
[1]