gpt4 book ai didi

mysql - SQL 选择比较可能为空的日期时间字段的行

转载 作者:行者123 更新时间:2023-11-29 07:04:07 25 4
gpt4 key购买 nike

假设我们有下表:

- id (int) 
- active (int)
- active_from (datetime) (NULL)
- active_until (datetime) (NULL)

现在,我想要获取的是所有事件记录。 事件记录意味着:

 - active = 1
- active_from <= current_date (IF IT'S NOT NULL)
- active_until >= current_date (IF IT'S NOT NULL)

我正在寻找一种在一个查询中应用这 3 个要求的查询。我目前正在使用:

SELECT * FROM product WHERE active = 1 AND active_from <= NOW() AND active_until >= NOW();

对于没有 NULL 的行,我只会获得我想要的行为active_fromactive_until .

注意:我知道将当前日期存储在变量中后比较它会更合适(这样设置是因为我用 PHP 参数填充它)。

提前谢谢您。

最佳答案

SELECT * FROM YourTableName 
WHERE active = 1
AND (active_from < CURDATE()
OR active_from IS NULL)
AND (active_until > CURDATE()
OR active_until IS NULL);

关于mysql - SQL 选择比较可能为空的日期时间字段的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42396878/

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