作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用两个日期的范围在表中给出选择计数,但是我的日期采用“yyyy-MM-dd”格式,当我执行选择 SQL 时,它返回以下错误:
Converting a varchar data type to a datetime data type resulted in a value out of range
这是我正在使用的查询:
SELECT COUNT(*) AS score
FROM requests
WHERE date_em BETWEEN '2019-04-01' AND '2019-04-30'
表结构
有人可以帮助我吗?
最佳答案
我首选的方法是:
SELECT COUNT(*) AS score
FROM requests
WHERE date_em >= '2019-04-01' AND
date_em < '2019-05-01'
这处理时间组件并将使用索引。
以下内容在 SQL Server 中也能正常工作:
SELECT COUNT(*) AS score
FROM requests
WHERE CONVERT(date, date_em) BETWEEN '2019-04-01' AND '2019-04-30'
在 SQL Server 中,这还将使用索引(如果可用)。但是,通常列上的函数不允许使用索引,因此我对这种方法更加犹豫。
关于sql - 如何在 SQL Server 中的两个日期之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56261747/
我是一名优秀的程序员,十分优秀!