我想檢查日期是否在開始日期和結束日期之間。開始日期到結束日期之間的查找時間
我添加了一個WHERE子句
where datepaid between '2010-04-01' AND '2010-04-15'
但問題是,它排除了 '2010-04-15'。
它應該包括結束日期我該怎麼做?
請幫我在這
問候,
潘卡
我想檢查日期是否在開始日期和結束日期之間。開始日期到結束日期之間的查找時間
我添加了一個WHERE子句
where datepaid between '2010-04-01' AND '2010-04-15'
但問題是,它排除了 '2010-04-15'。
它應該包括結束日期我該怎麼做?
請幫我在這
問候,
潘卡
指定時間部分明確:
WHERE datepaid BETWEEN '2010-04-01 00:00:00' AND '2010-04-15 23:59:59'
也許你的日期包括盤中倍。試試這個:
where '2010-04-01' <= datepaid AND datepaid < '2010-04-16'
喜用於回覆這意味着我有至1天的時間間隔添加到感謝結束日期以獲取正確的記錄 – 2010-04-15 10:27:46
嘗試
where datepaid between '2010-04-01' AND '2010-04-15 23:59:59'
我愛那麼多人保持他們的獨角獸頭像! – 2010-04-15 10:17:08
添加這個條款:
OR datepaid = '2010-04-15'
這不會做任何事情。 「BETWEEN」條款已經涵蓋了這種情況。 – 2010-04-15 10:17:23
WHERE datepaid >= '2010-04-01'
AND datepaid < '2010-04-15' + INTERVAL 1 DAY
這可能是由於有時間日期:
select
'2010-04-15' between '2010-04-01' AND '2010-04-15', -- 1
'2010-04-15 12:00:00' between '2010-04-01' AND '2010-04-15', -- 0
'2010-04-15 12:00:00' between '2010-04-01 00:00:00' AND '2010-04-15 23:59:59' -- 1
要麼添加時間範圍分隔符或比較之前截斷值:
select
'2010-04-15 12:00:00' between '2010-04-01 00:00:00' AND '2010-04-15 23:59:59' -- 1
cast('2010-04-15 12:00:00' as date) between '2010-04-01' AND '2010-04-15' -- 1
我沒有檢查,但我想表現沒有更好的鑄件。
其中CONVERT(VARCHAR(10),datepaid,23) '2010-04-01' 之間AND '2010-04-15'
它包括像2010-04-15 23:59:59.56? – 2010-04-15 10:25:00
@Jens:據我所知,MySQL不存儲小數秒。如果它確實支持它們,那麼我會將該子句改爲「BETWEEN'2010-04-01 00:00:00.000'和'2010-04-15 23:59:59.999''。 – LukeH 2010-04-15 10:47:12