首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用大于4 4pm的时间选择所有数据

使用大于4 4pm的时间选择所有数据
EN

Stack Overflow用户
提问于 2012-11-27 04:09:23
回答 2查看 66.4K关注 0票数 9

我需要在有两年数据的SQL Server Management Studio Microsoft SQL Server2005- 9.00.4060.00 (X64) DB表中选择每天datatimestamp中包含时间>4 4pm的数据。做这件事最好的方法是什么?我的时间戳格式如下:DATETIME, '2005-10-13 16:00:00', 102。我每天下午都会有随机时间的数据。我需要在每天下午4点之后得到数据。不只是一天。

例如,我尝试了一天,如下所示:

代码语言:javascript
复制
SELECT     Yield, Date, ProductType, Direct
FROM         MIAC_CCYX
WHERE     (Date < CONVERT(DATETIME, '2005-10-13 16:00:00', 102))  Thanks for help
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-27 04:24:53

很难理解您的问题,但假设您确实在使用datetime数据类型,您可以使用datepart查找时间大于下午4点的任何日期:

代码语言:javascript
复制
WHERE datepart(hh, YourDate) > 16

因为你现在也需要分钟,如果你想要下午4:45之后的记录,你可以将你的日期转换为这样的时间:

SQL Server2000/2005

代码语言:javascript
复制
SELECT Yield, [Date], ProductType, Direct 
FROM MIAC_CCYX 
WHERE cast(convert(char(8), [Date], 108) as datetime) > cast('16:45' as datetime)

本质上,您使用convert's Date and Time styles转换日期,将日期转换为时间字符串,然后再转换回datetime,以便与所需的时间进行比较。

SQL Server 2008+

代码语言:javascript
复制
SELECT Yield, [Date], ProductType, Direct 
FROM MIAC_CCYX 
WHERE CAST([Date] as time) > CAST('16:45' as time)
票数 22
EN

Stack Overflow用户

发布于 2012-11-27 04:40:16

无论你的约会对象是什么,这都会起作用。这不会比较日期。相反,Datepart()将从日期时间中提取小时元素,并与您指定的时间(例如,在您的示例中为下午4点)进行比较。

代码语言:javascript
复制
SELECT * from <table> where DATEPART(hh, ModifiedDate) >= 16

我假设ModifiedDate作为列名。这将返回从下午4点到晚上11:59:59的数据编辑:我已经根据MS SQL server 2012进行了检查。它还将与datetime格式一起工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13572335

复制
相关文章

相似问题

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