2015-05-14 93 views
0

我想將數據庫中的記錄從end _date恢復到15天,直到end_date
我正在尋找最後3天的查詢!
但是。我希望你的幫助做一個查詢。它很簡單,但我不知道該怎麼做。
我寫的查詢是這樣的:MySQL查詢 - 15天前的記錄結束日期到結束日期

SELECT * 
FROM bid_post 
WHERE ending_date 
BETWEEN DATE_SUB(DATE(`ending_date`) , INTERVAL 15 
DAY) 
AND ending_date >= CURDATE() 

但它不工作!
數據列是Varchar類型。我存儲日期爲YYYY-mm-dd格式

現在有人可以如何做到這一點?

謝謝。

+0

首先,你需要你的數據類型更改爲DATE類型 –

+1

嘗試'我想要你的幫助做一個查詢'? **但你到目前爲止嘗試過嗎?** –

+0

http://stackoverflow.com/questions/2684520/mysql-date-add-usage-5-day-interval –

回答

0

請與此查詢

SELECT * 
FROM bid_post 
WHERE ending_date between DATE_SUB(CURDATE() , INTERVAL 15 DAY) 
AND CURDATE() 
+0

感謝您的幫助夥計 –

0

您不應該將日期存儲爲varchar,因爲這些日期不是真正的日期,您需要使用mysql本機日期數據類型來存儲它們。 由於格式是Y-M-d,你可能不需要使用str_to_date函數來完成轉換,並且可以使用查詢作爲

select * from bid_post 
where 
ending_date between date_sub(curdate(),interval 5 day) and curdate() 

這會給你從過去的15天,直到今天的數據。

使用轉換成真正的約會,你需要str_to_date作爲

select * from bid_post 
where 
str_to_date(ending_date,'%Y-%m-%d') between date_sub(curdate(),interval 5 day) and curdate() ; 

DEMO

+0

謝謝你的朋友你的代碼爲我工作 –

相關問題