gpt4 book ai didi

php - mysql 零值和空值

转载 作者:行者123 更新时间:2023-11-28 23:26:51 25 4
gpt4 key购买 nike

在一个表中,我在某些记录的特定字段中有值 zero(0) 但是当我使用查询来避免该字段中的空值时,它不考虑具有 0 值的字段.如何克服这个问题?

SELECT
*
FROM wr
WHERE dir <> ''
AND UNIX_TIMESTAMP(CONCAT(date, ' ', time))
BETWEEN '$time_start_unix' AND '$time_end_unix

字段dir是一个带两位小数的小数字段。值可以为空,也可以为 0 到 360。我不想要空白或空值,但需要零值记录

最佳答案

假设dir是数字的、不可为 null 的列,那么您永远应该看到的唯一值是数字。因此 WHERE条件:

WHERE dir <> ''

在较高层次上没有任何意义,因为您正在尝试将数字与空字符串进行比较。在数据库级别,MySQL 似乎为 x <> '' 返回 false。每当x为零,否则为真。因此,您的 2 条记录为 dir具有零值的被过滤掉。关于 dir 的值,没有空记录.但是,由于您将默认值设置为 0.0 ,如果您看到一个零值,并且您的业务逻辑中没有任何内容会使用该值进行更新,那么以下查询可能就是您想要的:

SELECT *
FROM wr
WHERE dir <> 0.0 AND
UNIX_TIMESTAMP(CONCAT(date, ' ', time))
BETWEEN '$time_start_unix' AND '$time_end_unix

我创建了一个 Fiddle,在这里演示了这一点:

SQLFiddle

关于php - mysql 零值和空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973071/

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