gpt4 book ai didi

mysql - WHERE 子句中的单列多行

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

我正在尝试合并列名上的 where 子句。我需要单个列在条件上返回正数,但相同的条件适用于许多列。下面是强力示例,用于检查多个列上特定范围之间的日期。我的列具有完全相同的条件。

SELECT * FROM foo
WHERE foo.date1 BETWEEN DATE_SUB( DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR), INTERVAL 24 HOUR) and DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR)
OR foo.date2 BETWEEN DATE_SUB( DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR), INTERVAL 24 HOUR) AND DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR);

我更愿意做一些类似的事情:

SELECT * FROM foo
WHERE (foo.date1 OR foo.date2) BETWEEN DATE_SUB( DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR), INTERVAL 24 HOUR) and DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR);

..但它仍然适用于跨行的各个列。

我正在使用 MariaDB,但可以适应其他 SQL 风格的任何解决方案。

最佳答案

第一部作品;第二个是错误的语法。

我更喜欢

BETWEEN NOW() + INTERVAL 16-24 HOUR
AND NOW() + INTERVAL 16 HOUR

如果 16 是由于时区造成的,请考虑使用 TIMESTAMP 和/或适当设置您的系统时间。

关于mysql - WHERE 子句中的单列多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40405364/

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