Php 如何在MySQL中检查两个给定日期之间的当前日期?
我需要MySQL查询的帮助,以检查两个给定日期之间的当前日期,并使用if条件。以下是我的查询语句:Php 如何在MySQL中检查两个给定日期之间的当前日期?,php,mysql,if-statement,case,Php,Mysql,If Statement,Case,我需要MySQL查询的帮助,以检查两个给定日期之间的当前日期,并使用if条件。以下是我的查询语句: $selMesQuery="select Subject, Message, PlainMessage, ARActiveTime, ARTimeZone, ARStartTime, AREndTime, ARID, UserId, DispLogo, ContentType from mytable"; A活动时间将为0或1 ARStartTime、AREndTime将采用日期时间格式ex:2
$selMesQuery="select Subject, Message, PlainMessage, ARActiveTime, ARTimeZone, ARStartTime, AREndTime, ARID, UserId, DispLogo, ContentType from mytable";
A活动时间将为0或1
ARStartTime、AREndTime将采用日期时间格式ex:2015-03-25 22:15:00
如果活动时间为“0”,我不需要ARTimeZone、ARStartTime和AREndTime的值,但我需要其他值。
我需要ARTimeZone、ARStartTime和AREndTime的值以及其他值,前提是ArActivityTime为“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;
在mysql中,可以使用case语句来完成。请编辑您的问题,并提供示例数据和所需结果。