MySQL不返回零列为零

问题描述

我在以下查询中遇到一个奇怪的问题

grep "#\‘om"

结果

SELECT id,productIDs FROM discount_codes WHERE productIDs=0 ORDER BY productIDs DESC

id 149不为null或零,但作为结果返回

enter image description here

谁能告诉我这怎么发生的??

解决方法

将字符串与数字进行比较时,它将首先将字符串转换为数字。将字符串,11,4转换为数字会产生0,因为它不是以数字开头。

如果您要查找一个空字符串,请使用该字符串,而不要使用数字0

SELECT id,productIDs 
FROM discount_codes 
WHERE productIDs='' 

如果您还想匹配一个明确的0,请将其匹配为字符串而不是数字。

SELECT id,productIDs 
FROM discount_codes 
WHERE productIDs IN ('','0')

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...