我有一個日期以yyyy-mm-dd的格式傳遞給我的腳本。在特定月份之間獲取行的最佳方法
我試圖抓住所提供的月份和年份內的所有日記條目。
我應該這樣做,其中yyyy-mm是提供的日期嗎?
SELECT * FROM表WHERE ts_date> YYYY-MM-01和ts_date < YYYY-MM-31
看起來有可能是處理這種更有效的方式。
我有一個日期以yyyy-mm-dd的格式傳遞給我的腳本。在特定月份之間獲取行的最佳方法
我試圖抓住所提供的月份和年份內的所有日記條目。
我應該這樣做,其中yyyy-mm是提供的日期嗎?
SELECT * FROM表WHERE ts_date> YYYY-MM-01和ts_date < YYYY-MM-31
看起來有可能是處理這種更有效的方式。
我認爲你正在尋找這樣的:
-- Finds records from January
SELECT * FROM table WHERE MONTH(ts_date) = 1 AND YEAR(ts_date) = 2012;
年也可以在這裏考慮? – Mike 2012-03-23 14:45:43
是的,與'年(日期)' – bfavaretto 2012-03-23 14:47:49
答案更新以考慮年份。 – bfavaretto 2012-03-23 15:00:20
我一般使用BETWEEN語法處理長的查詢似乎容易我的方式。
所以你可以像這樣使用它;
SELECT * FROM表WHERE ts_date BETWEEN '2010-11-18' AND '2011-02-17'
(我想用樣品的日期比使用日期語法更好:))
如果你需要使用日期放在字符串字段(必須避免的。)
SELECT * FROM表WHERE(DATE_FORMAT(ts_date, '%Y-%間%d')之間 '2010-11-18' 和 '2011-02-17')
'SELECT * FROM表WHERE ts_date BETWEEN YYYY-MM-01和YYYY-MM-31' – hjpotter92 2012-03-23 14:42:03
唉總是忘記之間。謝謝! – Mike 2012-03-23 14:43:26