我需要按日期排序我的SQL查詢的結果與WHERE。 我想知道如何才能得到實際日期和6個月之前的結果。日期SQL之間
喜歡的東西
BETWEEN actual_date
AND actual_date - (operator) 6 month
感謝
我需要按日期排序我的SQL查詢的結果與WHERE。 我想知道如何才能得到實際日期和6個月之前的結果。日期SQL之間
喜歡的東西
BETWEEN actual_date
AND actual_date - (operator) 6 month
感謝
試試這個
SELECT * FROM table
WHERE actual_date BETWEEN DATE_ADD(Now(),INTERVAL -6 MONTH) AND Now()
有inital錯誤,因爲第6幾個月前,較低的日期應該是第一個。
從可讀性的角度來看,使用['DATE_SUB'](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-子)與一個積極的區間 – Bojangles
哇,有點尷尬,因爲我從來沒有使用'DATE_SUB',我總是添加一個 - 減法。猜猜習慣很難踢。但是,是的,爲了可讀性,「DATE_SUB」更有意義。 Upvoted尼爾斯的答案。 –
需要將現在和過去6個月之間的日期切換爲不返回任何內容。 –
我不是在MySQL終端的前面,但這個應該工作
select
*
from
yourtable t
where
/* Greater or equal NOW */
r.date >= NOW()
/* Smaller or equal than 6 months ago */
r.date <= DATE_SUB(NOW(), INTERVAL 6 MONTH)
SELECT * FROM table
WHERE actual_date BETWEEN DATE_ADD(actual_date,INTERVAL -6 MONTH) AND actual_date
or
SELECT * FROM table
WHERE actual_date BETWEEN DATE_SUB(actual_date, INTERVAL 6 MONTH) AND actual_date
嗨,你如果其中一個人應該批准答案正確。 –