Как проверить текущую дату между двумя указанными датами в MySQL?

Мне нужна помощь с запросом 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. Мне нужны значения ARTimeZone, ARStartTime, AREndTime наряду с другими значениями, только если 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
_________________________________________________________________________________

1

Решение

попробуй это

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;
0

Другие решения

Других решений пока нет …