use*_*998 8 sql sql-server sql-server-2005
我需要datatimestamp在SQL Server Management Studio Microsoft SQL Server 2005 - 9.00.4060.00(X64)DB表中每天选择包含时间> 4pm的数据,该表具有两年的数据.最好的方法是什么?我的时间戳有以下格式:DATETIME, '2005-10-13 16:00:00', 102.我每天下午都有随机数据.我需要在每天下午4点之后获取数据.不只是一天.
例如,我尝试了一天这样:
SELECT Yield, Date, ProductType, Direct
FROM MIAC_CCYX
WHERE (Date < CONVERT(DATETIME, '2005-10-13 16:00:00', 102)) Thanks for help
Run Code Online (Sandbox Code Playgroud)
Lit*_*les 16
很难阅读您的问题,但假设您确实在使用datetime数据类型,您可以使用datepart查找时间大于下午4点的任何日期:
WHERE datepart(hh, YourDate) > 16
Run Code Online (Sandbox Code Playgroud)
由于您现在也需要分钟,如果您想在下午4:45之后获得记录,您可以将日期投射到如下时间:
SQL Server 2000/2005
SELECT Yield, [Date], ProductType, Direct
FROM MIAC_CCYX
WHERE cast(convert(char(8), [Date], 108) as datetime) > cast('16:45' as datetime)
Run Code Online (Sandbox Code Playgroud)
基本上,您使用convert日期和时间样式来转换日期以将日期转换为时间字符串,然后转换回datetime与您所需时间的比较.
SQL Server 2008+
SELECT Yield, [Date], ProductType, Direct
FROM MIAC_CCYX
WHERE CAST([Date] as time) > CAST('16:45' as time)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47496 次 |
| 最近记录: |