ITPub博客

首页 > 数据库 > 数据库开发技术 > MySQL中的""和0

MySQL中的""和0

原创 数据库开发技术 作者:bisal 时间:2023-09-01 07:50:00 0 删除 编辑

《MySQL的隐式转换导致诡异现象的案例一则》文章中原始有段写的是,

上述例子中 "测试a" 会截成 "",因此 a=0 ,才会返回字段不为空的。

有朋友留言说,这个确定正确吗?"测试a"应该转成0吧,而不是""?

我认为这块写得有些模糊了,但是结论没错。

因为数据类型的问题,"测试a"会转成数值类型,MySQL自动截断,应该截成的是""(空),只是说""和0是相等的,通过CAST可以验证下,"测试a"和''(空)转换成数值类型都是0,

select cast('测试a' AS UNSIGNED), CAST('' AS UNSIGNED);

如果准确些,应该说的是"测试a"自动截成""(空),""和0是相等的,因此得到"a=0"。

做技术,还是得严谨一些。


如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,




近期更新的文章:
《MySQL的隐式转换导致诡异现象的案例一则》
《MySQL中用到了索引还很慢的一个SQL场景》
《什么是"金砖国家"?》
《最近碰到的一些问题》
《MySQL客户端指令用法的探索》

近期的热文:
《推荐一篇Oracle RAC Cache Fusion的经典论文》
《"红警"游戏开源代码带给我们的震撼》

文章分类和索引:
《公众号1200篇文章分类和索引》

原文作者:bisal的个人杂货铺;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
Oracle ACE,10g/11g OCP,11g OCM,国内首批Oracle YEP成员(Oracle Young Expert Program,Oracle用户组年轻专家项目),EXIN DevOps Master,Oracle爱好者,微信公众号:bisal的个人杂货铺

注册时间:2022-06-21

  • 博文量
    539
  • 访问量
    2801252