首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询在一天中的两个时间之间选择

查询在一天中的两个时间之间选择
EN

Stack Overflow用户
提问于 2012-04-06 04:47:04
回答 2查看 63.5K关注 0票数 10

我正在尝试构建一个基于DateTimeSyncDate进行选择的查询。

作为一些背景知识,我查询的表每天都会在每天的同一时间进行数千次导入。我想要找到在一天中的“常规”时间没有导入的条目。

因此,我想查询DateTime列中的时间介于两个时间之间的位置:假设在任何日/月/年期间的14:00-14:30 (2-230)。

代码语言:javascript
复制
SELECT * FROM MyTable
WHERE DatePart(SyncDate, ..?) BETWEEN (14:00..?) and (14:30..?)

DatePart函数似乎就是我所需要的,但是我不知道如何将它应用于这种情况。感谢您的帮助,哦,伟大的查询者。

编辑:我弄错了,我正在运行SQL-Server-2005作为我的后端。抱歉的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-06 04:52:21

由于您使用的是SQL Server 2008,因此可以使用新的TIME数据类型:

代码语言:javascript
复制
SELECT * FROM MyTable
WHERE CAST(SyncDate AS TIME) BETWEEN '14:00' and '14:30'

如果你的后台还不是2008 :-)那么你需要这样的东西:

代码语言:javascript
复制
SELECT * FROM MyTable
WHERE DATEPART(HOUR, SyncDate) = 14 AND DATEPART(MINUTE, SyncDate) BETWEEN 0 AND 30

去查14:00-14:30小时。

票数 28
EN

Stack Overflow用户

发布于 2012-04-06 04:56:34

这个怎么样..。

代码语言:javascript
复制
select * from MyTable where
cast(cast(datepart(HH,SyncDate) as char(2)) + cast(datepart(HH,SyncDate) as char(2)) as int) between 1400 and 1430
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10035769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档