2012-03-23 55 views
0

我有一個日期以yyyy-mm-dd的格式傳遞給我的腳本。在特定月份之間獲取行的最佳方法

我試圖抓住所提供的月份和年份內的所有日記條目。

我應該這樣做,其中yyyy-mm是提供的日期嗎?

SELECT * FROM表WHERE ts_date> YYYY-MM-01和ts_date < YYYY-MM-31

看起來有可能是處理這種更有效的方式。

+2

'SELECT * FROM表WHERE ts_date BETWEEN YYYY-MM-01和YYYY-MM-31' – hjpotter92 2012-03-23 14:42:03

+0

唉總是忘記之間。謝謝! – Mike 2012-03-23 14:43:26

回答

1

我認爲你正在尋找這樣的:

-- Finds records from January 
SELECT * FROM table WHERE MONTH(ts_date) = 1 AND YEAR(ts_date) = 2012; 
+0

年也可以在這裏考慮? – Mike 2012-03-23 14:45:43

+0

是的,與'年(日期)' – bfavaretto 2012-03-23 14:47:49

+0

答案更新以考慮年份。 – bfavaretto 2012-03-23 15:00:20

1

我一般使用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')

相關問題