MySQL是否自动将字符串转换为数值?
这种转换是如何进行的?
- '1234'=1234 ?
- '1abc' = 1 ?
- '文本' = 1 ?
鉴于 units.id
是 bigint 类型,这个查询将如何解释?
SELECT table.*
FROM table
WHERE id='text'
最佳答案
前三个问题的答案是:是、是和否。
当字符串 'text'
被转换为数字时,它变成值 0
。
描述类型转换的文档是here .
对于您的查询:
SELECT table.*
FROM table
WHERE id='text';
规则是从文档中摘录的:
In all other cases, the arguments are compared as floating-point (real) numbers.
换句话说,这实际上等同于:
WHERE id = 0.0
关于MySQL 自动将字符串转换/转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762075/