G S*_*ick 2 sql sql-server select datetime between
我需要使用两个日期的范围在表中给出选择计数,但是我的日期采用“yyyy-MM-dd”格式,当我执行选择 SQL 时,它返回以下错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
这是我正在使用的查询:
SELECT COUNT(*) AS score
FROM requests
WHERE date_em BETWEEN '2019-04-01' AND '2019-04-30'
Run Code Online (Sandbox Code Playgroud)
表结构
有人能帮我吗?
我首选的方法是:
SELECT COUNT(*) AS score
FROM requests
WHERE date_em >= '2019-04-01' AND
date_em < '2019-05-01'
Run Code Online (Sandbox Code Playgroud)
这处理时间部分并将使用索引。
以下内容在 SQL Server 中也适用:
SELECT COUNT(*) AS score
FROM requests
WHERE CONVERT(date, date_em) BETWEEN '2019-04-01' AND '2019-04-30'
Run Code Online (Sandbox Code Playgroud)
在 SQL Server 中,这还将使用索引(如果可用)。但是,通常列上的函数不允许使用索引,因此我对这种方法更加犹豫。
| 归档时间: |
|
| 查看次数: |
32358 次 |
| 最近记录: |