mysql查詢日期的語句

-- 查詢昨天的數據 
SELECT * FROM test_date WHERE TO_DAYS( NOW( ) ) - TO_DAYS( orderDate) = 1
-- 查詢今天的數據
SELECT * FROM test_date WHERE TO_DAYS( NOW( ) ) = TO_DAYS(orderDate)
-- 近七天數據
SELECT * FROM test_date WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(orderDate)
-- 本月
SELECT * FROM test_date WHERE DATE_FORMAT(orderDate, '%Y%m') = DATE_FORMAT(CURDATE( ) ,'%Y%m') 
-- 上個月
SELECT * FROM test_date WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ), '%Y%m'),DATE_FORMAT( orderDate, '%Y%m' )) =1
SELECT * FROM test_date WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ), '%Y%m%d'),DATE_FORMAT( orderDate, '%Y%m%d'))=1 
-- -- 間隔一天的數據(不包括本年)
SELECT * FROM test_date WHERE PERIOD_DIFF( DATE_FORMAT (NOW(),'%Y'),DATE_FORMAT(orderDate,'%Y'))=1
-- 上一年
SELECT * FROM test_date WHERE YEAR(orderDate)=YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR));
-- 上個月
SELECT * FROM test_date WHERE MONTH(orderDate)=MONTH(DATE_SUB(NOW(),INTERVAL 1 MONTH));
-- 間隔一天的數據
SELECT * FROM test_date WHERE DAY(orderDate)=DAY(DATE_SUB(NOW(),INTERVAL 1 DAY));
SELECT * FROM TABLE WHERE 年/月/日 (列名) = 年/月/日(DATE_SUB(NOW(),INTERVAL 1 年/月/日))

不好記住,有幾個函數,瞭解外國人的思維,查看:TO_DAYS()函數,DATE_SUB()函數,CURDATE()函數,INTERVAL字段

period_diff()函數,YEAE MONTH DAY

Date_Format格式化參數表


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章