gpt4 book ai didi

php - 如何检查 MySQL 中两个给定日期之间的当前日期?

转载 作者:行者123 更新时间:2023-11-30 22:47:55 24 4
gpt4 key购买 nike

我需要有关 MySQL 查询的帮助,以检查两个给定日期之间的当前日期并使用 if 条件。下面是我的查询语句:

$selMesQuery="select Subject, Message, PlainMessage, ARActiveTime, ARTimeZone, ARStartTime, AREndTime, ARID, UserId, DispLogo, ContentType from mytable";

ARActiveTime 将为0 或 1

ARStartTime、ARendTime 将采用日期时间格式,例如:2015-03-25 22:15:00

  1. 如果 ARActiveTime 为“0”,我不需要 ARTimeZone、ARStartTime、AREndTime 的值但我需要其他值。
  2. 仅当 ARActiveTime 为“1”且系统时间应为在 ARStartTime 和 AREndTime 之间。

如何使用 mysql 查询语句执行此操作?

我可以通过执行给定的查询来做到这一点,检查 ARActiveTime 是 0 还是 1,然后获取当前日期,使用 PHP 代码检查起止日期。但是只用mysql语句就可以做到吗?

是否可以在查询中使用 IF 条件来完成?我不确定。

如有任何帮助,我们将不胜感激。

sample data of mysql table:
_________________________________________________________________________________
table header is as per the mysql query given
__________________________________________________________________________________
sub1 | msg1 | pmsg1 | 0 | 0 |0000-00-00 00:00:00|0000-00-00 00:00:00| 1 | 1 | 0 | 2
_________________________________________________________________________________
sub2 | msg2 | pmsg2 | 1 | 3 |2015-03-12 10:00:00|2015-03-25 22:00:00| 2 | 1 | 1 | 1
_________________________________________________________________________________
sub3 | msg3 | pmsg3 | 1 | 2 |2015-03-10 20:00:00|2015-03-15 20:00:00| 3 | 2 | 1 | 2
_________________________________________________________________________________
sub4 | msg4 | pmsg4 | 0 | 0 |0000-00-00 00:00:00|0000-00-00 00:00:00| 4 | 3 | 0 | 3
_________________________________________________________________________________


desired result:
_________________________________________________________________________________
sub1 | msg1 | pmsg1 | 1 | 1 | 0 | 2
_________________________________________________________________________________
sub2 | msg2 | pmsg2 | 1 | 3 |2015-03-12 10:00:00|2015-03-25 22:00:00| 2 | 1 | 1 | 1
_________________________________________________________________________________
sub3 | msg3 | pmsg3 | 1 | 2 |2015-03-10 20:00:00|2015-03-15 20:00:00| 3 | 2 | 1 | 2
_________________________________________________________________________________
sub4 | msg4 | pmsg4 | 4 | 3 | 0 | 3
_________________________________________________________________________________

最佳答案

试试这个

SELECT SUBJECT,
Message,
PlainMessage,
ARActiveTime,
ARTimeZone,
ARStartTime,
AREndTime,
ARID,
UserId,
DispLogo,
ContentType FROM mytable WHERE ARActiveTime = 1
UNION ALL
SELECT SUBJECT,
Message,
PlainMessage,
ARActiveTime,
NULL AS ARTimeZone,
NULL AS ARStartTime,
NULL AS AREndTime,
ARID,
UserId,
DispLogo,
ContentType FROM access_mgmt WHERE ARActiveTime = 0;

关于php - 如何检查 MySQL 中两个给定日期之间的当前日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29030855/

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