【问题标题】:Mysql return none zero columns as zero [duplicate]Mysql将无零列返回为零[重复]
【发布时间】:2020-08-11 21:04:37
【问题描述】:

我在下面的查询中有一个奇怪的问题

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

结果

id   |  productIDs

149  |  ,11,4
4    |  
7    |  
8    |  

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

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

【问题讨论】:

标签: mysql sql null


【解决方案1】:

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

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

SELECT id, productIDs 
FROM discount_codes 
WHERE productIDs='' 

如果您还想匹配显式 0,请将其匹配为字符串,而不是数字。

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

【讨论】:

  • 非常感谢,这就是重点,您节省了我的时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 2011-09-12
  • 1970-01-01
  • 2021-11-11
相关资源
最近更新 更多