MySQL 自动将字符串转换/转换为数字?

标签 mysql type-conversion casing

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/

相关文章:

python - 我在 MySQL 中的搜索不起作用(Python)

c# - 为什么ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ是美国的本土名称?

在 Win DLL 到 Linux SO 转换中将 LPBYTE 更改为 unsigned char* 后出现 C++ 编译器错误

string - 在 Go 中将自定义类型转换为字符串

visual-studio-2008 - 如何在 VS2008 代码段中强制使用大写?

MySQL 自动将字符串转换/转换为数字?

mysql - Hive-1.1.0 在将数据插入创建的表时显示错误(使用 hadoop-2.5.1)

mysql 多重删除错误

mysql - ruby on Rails 中的随机 id

c++ - 我可以告诉 C++ 编译器如何自己进行任意类型转换吗?