mysql - 如何使用 IN() 函数搜索精确值

标签 mysql sql

我有一个 products 表,下一个 id

我正在使用 IN 函数而不是 WHERE 因为我希望有多个产品 ID

在这种情况下,只有一个产品 ID。

SELECT id FROM `products` WHERE id IN (00010001)

上面的sql查询返回

enter image description here

但这不是我所期望的,我只期望第一行 00010001

我需要准确的值,如何使用 IN 函数实现?

最佳答案

您的 id 是一个字符串,因此您需要进行字符串比较:

SELECT proidxxx
FROM `products`
WHERE id IN ('00010001')

您正在混合类型,因此 MySQL 会默默地将 id 转换为数字。它匹配任何 id,其中初始数字 - 当转换为数字时 - 等于 10001

关于mysql - 如何使用 IN() 函数搜索精确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52709944/

相关文章:

mysql - 在MySQL存储过程中创建动态查询?

SQL 服务器 : Terminate SQL From Running

mysql - 过滤重复项后选择具有唯一值的行

mysql - 使用选择重复项的语句,通过单个 SQL 命令从表中删除重复项

mysql - 从文件加载数据到表

stored-procedures - 使用存储过程中的游标将表从一个表插入到另一个表

python - django 中原始 MySQL 查询的问题

c# - 如何在 Simple.Data 中正确执行预加载?

mysql - 为什么在 LEFT JOIN 中忽略 WHERE 条件?

sql - 使用 NOT IN 子句的 Hive 查询的替代方案