【发布时间】:2021-06-18 13:15:14
【问题描述】:
我似乎无法通过查询获得一个分组来处理日期范围。 CreationDate 示例值看起来像 9/16/2013 1:57:55 PM
有没有办法使用下面的查询来获取在 1/1/20 和 12/31/20 之间的每个进程类型的计数?
SELECT COUNT(Id), ProcessType, CreationDate
FROM tblTest
WHERE date(CreationDate) BETWEEN "2020-01-01" AND "2020-12-31"
GROUP BY ProcessType
【问题讨论】:
-
双引号 (
") 是 列 的 ANSI 分隔符标识符。文字字符串应该用单引号括起来 (')。 -
另外,阅读Cast to date is sargable but is it a good idea?。 TL;DR:不。在
>=和<中使用明确的日期边界。 -
从 SELECT 中删除 CreationDate
-
我的错误日期不被识别为内置函数名
标签: sql sql-server date