我有一个包含“inspect_date”列的表。此列包含格式为 DD/MM/YYYY HH:MM:SS 的日期。我正在尝试查找 2012 年 4 月到 2012 年 9 月之间的记录。我可以在 WHERE 子句中添加什么才能做到这一点?
我正在使用 Microsoft SQL Server 2008。
我有一个包含“inspect_date”列的表。此列包含格式为 DD/MM/YYYY HH:MM:SS 的日期。我正在尝试查找 2012 年 4 月到 2012 年 9 月之间的记录。我可以在 WHERE 子句中添加什么才能做到这一点?
我正在使用 Microsoft SQL Server 2008。
select * from table
where inspect_date>= '04/01/2012 00:00:00.000'
and inspect_date< '10/01/2012 00:00:00.000'
WHERE inspect_date BETWEEN '2012-04-01' and '2012-09-30'
SELECT * FROM ....WHERE
inspect_date >= CAST('20120401' AS datetime) and
inspect_date < CAST('20121001' AS datetime)
for year selection you can use
WHERE DATEPART(YEAR,inspect_date)=2012
如果您需要它灵活,请尝试像这样分开日期:
WHERE MONTH(inspect_date) > 3 AND YEAR(inspect_date)= 2011
OR MONTH(inspect_date) <= 5 AND YEAR(inspect_date)= 2012