我的日期以yyyy-mm-dd格式传递给我的脚本。
我正试图抓住所有提供的月份和年份的日记帐分录。
我应该这样做,yyyy-mm是提供的日期吗?
SELECT * FROM table WHERE ts_date> yyyy-mm-01 AND ts_date< YYYY-MM-31
似乎可能有更有效的方法来处理这个问题。
答案 0 :(得分:1)
我认为你正在寻找这个:
-- Finds records from January
SELECT * FROM table WHERE MONTH(ts_date) = 1 AND YEAR(ts_date) = 2012;
答案 1 :(得分:1)
我通常使用BETWEEN语法处理长查询对我来说很容易。
所以你可以像这样使用它;
SELECT * FROM table WHERE ts_date BETWEEN'2010-11-18'AND '2011-02-17'
(我猜使用样本日期比使用日期语法更好:))
如果你需要使用字符串字段中的日期(必须避免使用。)
SELECT * FROM table WHERE(DATE_FORMAT(ts_date,'%Y-%m-%d')BETWEEN '2010-11-18'AND'2011-02-17')