gpt4 book ai didi

mysql - mysql如何进行多类型比较?

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:25 27 4
gpt4 key购买 nike

我在做一个项目,由于误解,我们最终将存储的 int 与 MySql 数据库中的字符串进行了比较。我进行了一些测试,它似乎有效,但我想知道 MySql 如何比较不同的数据类型。

它会把一个转换成另一个吗?如果是,它会同时转换为字符串还是整数?

最佳答案

当您在整数上下文中使用字符串时,例如在算术表达式或与整数的比较中,MySQL 将该字符串的数值作为 DOUBLE 数据类型。

参见 https://dev.mysql.com/doc/refman/5.7/en/type-conversion.html

演示:

mysql> create table foo as select 1+'1' as x;

mysql> show create table foo\G
CREATE TABLE `foo` (
`x` double NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1

字符串的数值是任何前导数字字符或构成 float 的其他字符的数值,如 -+.e

例如'123abc'的数值为123。

支持科学计数法。

mysql> select 1 + '5e-2xyz' as n;
+------+
| n |
+------+
| 1.05 |
+------+

如果没有前导字符构成数值,则该字符串的数值为0。

关于mysql - mysql如何进行多类型比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43173463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com