MySQL是否会自动将字符串转换为数字值? 转换如何进行?
'1234'= 1234吗? '1abc'= 1? '文本'= 1? 给定那units.id是bigint类型的,该查询将如何解释?
SELECT table.* FROM table WHERE id='text'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
前三个问题的答案是:是,是和否。
当字符串'text'转换为数字时,它将成为value 0。
描述类型转换的文档在这里。
对于您的查询:
SELECT table.* FROM table WHERE id='text'; 该摘录摘自文档:
在所有其他情况下,将参数作为浮点数(实数)进行比较。
换句话说,这实际上等效于:
WHERE id = 0.0分享来源:stack overflow