sql - 如何查询日期范围之间的日期时间字段,以及 SQL 中时间之间的日期时间字段
问题描述
我需要使用具有名为“CreatedDate”的字段的数据生成报告。该字段是日期和时间戳。我需要创建一个查询,例如选择 CreatedDate 从 '01/01/2018' 到 '06/02/2018' 的所有行,并且仅在时间介于 '13:30:00' 到'18:00:00'。我在尝试完成此操作时遇到问题。
下面是我尝试过的一个例子:
SELECT
*
FROM [tablename]
WHERE [CreatedBy] = '792'
AND ([CreatedDate] >= '2018-01-01'
OR [CreatedDate] <= CAST(GETDATE() AS DATE))
AND ([CreatedDate] BETWEEN '13:30:00' AND '16:00:00')
ORDER BY
[ID] DESC;
现在这不起作用,但不知道如何实现这一点。任何帮助将不胜感激。-谢谢-
解决方案
尝试使用TIME功能。
select * from [tablename]
where CreatedBy = '792'
and (CreatedDate >= '2018-01-01' or CreatedDate <= CAST(GETDATE() as DATE)) AND
(TIME(CreatedDate) BETWEEN TIME('13:30:00') AND TIME('16:00:00')) ORDER BY ID desc
推荐阅读
- javascript - 无法使用 ng serve --open 提供 Angular 应用程序
- javascript - 无法使用 javascript 将 textarea 的值传递给 PHP 脚本 ECHO
- postgresql - 无法从远程数据库连接将数据插入到 postgres 表中
- python - 如何识别 css 选择器 ::before 在 selenium 中不起作用
- java - Kafka客户端有时会无意义地发送元数据请求吗?
- list - 如何从列表中的子列表中删除括号?
- powershell - 增加文本文件中包含的版本号
- android - java.lang.Long 无法转换为 java.lang.String android studio settext
- github - 如何在 github 操作中设置命令行参数?
- javascript - 对象扩展运算符在 Microsoft Edge 中抛出错误