2012-04-18 108 views

回答

13

您可以添加一個條件,你會發現很多之間使用人運算符,但我更喜歡使用簡單的AND運算符。

我這樣做是因爲雖然介於運算符IS之間,但簡單日期(2012-04-10)可以算作是午夜,因此不會包含在內。

所以這應該只是罰款,並且將始終包含日期範圍的界限:

聲明

SELECT * FROM table WHERE from_date >= '2012-04-10' AND to_date <= '2012-04-10' 
+4

偉大的作品,除非你有你的鱷魚看錯方式:) – JJJollyjim 2012-04-18 08:41:04

+0

哎呀,對不起:) – Bill 2012-06-11 00:30:17

6

只需使用SQL現在()函數來比較,像這樣的日期列:

SELECT * from table where now() >= from_date and now() <= to_date 
+1

使用CURDATE()來代替,請注意,如果您使用NOW(),它包括時間信息並可能導致排除某些日期,即下一個函數返回false(0): 選擇「2010-01-01 14:00:00」<=「2010-01-01」 – CesarC 2012-04-18 04:57:43

+0

謝謝@CesarC :) – 2013-10-31 10:55:13

15

如下

DATE(NOW()) between date1 and date2 
+0

是我的問題的解決方案,謝謝! – 2015-10-27 18:31:20

+0

也解決方案 – erwinnandpersad 2017-11-16 09:30:10

相關問題