2015-02-23 105 views
0

我的問題是比較<=>=之間的記錄 我的表包含列ID,名稱,地址,堆棧,StartDateTime,EndDateTime。 我想獲取StartDateTimeEndDateTime之間的記錄。 日期時間格式是0000-00-00 00:00:00使用mysql比較小於或大於記錄之間的記錄

mysql-> Select * from Table_nm where StartDateTime>= $DATETIME and EndDateTime<= $DATETIME1; 

所以,我的問題是如何比較的是,

1. $DATETIME= 2015-02-03 10:00:00 and $DATETIME1 =2015-02-06 20:00:00 
2. $DATETIME= 2015-02-03 05:00:00 and $DATETIME1 =2015-02-06 13:00:00 
3. $DATETIME= 2015-02-03 10:00:00 and $DATETIME1 =2015-02-06 11:00:00 

喜歡聰明的記錄包含日期時間, 這樣的記錄,給我結果如下圖所示過濾器。

1.If I want to filter record where StartDateTime>=2015-02-03 00:00:00 and EndDateTime<= 2015-02-06 00:00:00. 
2.If I want to filter record where StartDateTime>=2015-02-03 09:00:00 and EndDateTime<= 2015-02-06 12:00:00. 
3.If I want to filter record where StartDateTime>=2015-02-03 01:00:00 and EndDateTime<= 2015-02-06 22:00:00. 

和如何該過濾器爲日期時間>=<=作品,請幫幫忙!

+0

告訴我你的結果,以及是什麼結果,當你運行上面的查詢 – Asif 2015-02-23 13:02:15

+0

是這會工作,如果確實有行滿足這種條件 – Ghost 2015-02-23 13:02:24

+0

是的它的工作原理,但我想如何比較後端在MySQL中。我想搜索見(2號)記錄。那時它只顯示這個時間範圍之間的時間範圍?並查看f(1號)記錄。我搜索它的時間12到12是顯示所有記錄之間還是僅顯示誰的時間是'='到00:00:00 – Pratiksha 2015-02-23 13:06:09

回答

0

我用TIMESTAMPDIFF

在您的例子,它會是這樣的:

mysql-> Select * from Table_nm 
     where TIMESTAMPDIFF(SECOND, `StartDateTime`, '$DATETIME')>= 0 
      and TIMESTAMPDIFF(SECOND, `EndDateTime`, '$DATETIME1')<= 0; 
+0

它是如何工作的,它只顯示開始日期和結束日期以及開始時間和結束日期之間的記錄時間? – Pratiksha 2015-02-23 13:08:09

+0

這就是它應該做的,試試看。 – koljanep 2015-02-23 13:08:48

+0

如果我使用函數(TIMESTAMP(「2015-02-03」,「10:00:00」),秒)> =像這樣,那麼? – Pratiksha 2015-02-23 13:11:21