空串(‘’)与null的差异

2022-8-31 15:59:03
22601
在Oracle数据库中,null和空字符串存储在数据库中是等价的,空字符串(empty string)在数据库中是不能存储的,会被当做null处理。
mysql会保持插入数据的原始含义,即插入的null在数据库中存储null、插入空串(‘’)在数据库中存储空串,而且null不能和空字符串进行比较,因为其含义不同,所以插入的空字符串不会在数据库层面被转化成null,同时非空约束下不可以插入null,但是可以插入空串。
所以有时你可能会发现为空的判断,查询不出数据来。严谨一点的条件是:XX='' 或者 XX=常量空

我知道答案 回答被采纳将会获得3 云币 已有1人回答
+10
收藏
1 条回帖
李根管理员2022-9-1 09:25:30
常量有三个状态,常量.是、常量.否、常量空,文本空只是没有文本,并不一定是常量空,这两者类型上是有区别的
+10
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询