如何使用日期时间字段检索特定月份,请说我有以下表格
ID - DATETIME - AMOUNT
01 - 27/05/2017 - 1
02- 02/06/2017 - 2
03- 03/07/2017 - 1
04- 05/05/2017 - 2
05- 13/06/2017 - 3
编写查询以检索May记录的正确方法是什么 我使用了以下查询,但它给了我错误。
SELECT * FROM TABLE WHERE TABLE.DATETIME =' 05/2017'
Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.
答案 0 :(得分:4)
您可以使用此功能(但如果TABLE.DATETIME
列上有索引,则不会使用该索引):
SELECT *
FROM TABLE
WHERE MONTH(TABLE.DATETIME) = 5
AND YEAR(TABLE.DATETIME) = 2017
可能更有效(如果您已经或计划添加索引):
SELECT *
FROM TABLE
WHERE TABLE.DATETIME >= '20170501'
AND TABLE.DATETIME < '20170601'
答案 1 :(得分:2)
检查月初和月末。
where DateTime >= '20170501' and
DateTime < '20170601'
答案 2 :(得分:0)
或者你可以使用之间的条款:
SELECT *
FROM TABLE
WHERE TABLE.DATETIME BETWEEN '01/05/2017' AND '31/05/2017'