簡體   English   中英

如何檢查MySQL中兩個給定日期之間的當前日期?

[英]How to check current date between two given dates in 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. 僅當ARActiveTime為'1'並且系統時間應該在ARStartTime和AREndTime之間時 我才需要ARTimeZone,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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM