MySQL 整型字段中查询字符串出现问题详解
更新:HHH   时间:2023-1-7


本文主要给大家介绍MySQL 整型字段中查询字符串出现问题详解,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在天达云行业资讯里面关注我的更新文章的。

在MySQL中,在整型字段中查询字符串,返回了所有为0的结果,应该返回null或空。

例如表结构信息:

CREATE TABLE `t` (
  `name` char(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

表中数据:

mysql> select id from t;
+----+
| id |
+----+
|  0 |
|  0 |
|  1 |
+----+

查询字符串a,返回了所有是0 的:

mysql> select id from t where id='a';
+----+
| id |
+----+
|  0 |
|  0 |
+----+

警告信息:

mysql> show warnings;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
+---------+------+---------------------------------------+

查询字符串'1a',可以返回1:

mysql> select id from t where id='1a';
+----+
| id |
+----+
|  1 |
+----+

报警信息:

mysql> show warnings;
+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: '1a' |
+---------+------+----------------------------------------+

看了以上关于MySQL 整型字段中查询字符串出现问题详解,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

返回MySQL数据库教程...