gpt4 book ai didi

mysql - mysql 中奇怪的转换行为

转载 作者:可可西里 更新时间:2023-11-01 08:20:54 24 4
gpt4 key购买 nike

代码如下

mysql> SELECT id FROM tbl WHERE id = '1h';
+----+
| id |
+----+
| 1 |
+----+
1 row in set

确实有一个 id 为 1 的字段(但不是 '1h')。
这是 MySQL 文档的摘录:http://dev.mysql.com/doc/refman/5.1/en/type-conversion.html

mysql> SELECT 1 > '6x';
-> 0
mysql> SELECT 7 > '6x';
-> 1

所以这个错误被记录下来了,可以这么说。问题是这种行为的原因是什么以及如何纠正它以使其不使用 char 符号转换字符串?我可以像这样转换所有字段值

mysql> SELECT id FROM tbl WHERE cast(`id`, BINARY) = '1h';

但我不太喜欢这个变体

最佳答案

这不是错误。

解决方案是根据您的条件使用字符串值查询数字列。

从不依赖隐式类型转换。

关于mysql - mysql 中奇怪的转换行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365824/

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