我有一个表,其中的日期和时间列在一起(说创建日期)。我需要通过单独花费时间来从表中获取记录(因为我在同一日期以不同的间隔检索记录)。
我的问题是在使用存储过程获取记录时如何在表的DateTime字段中单独中断时间部分
进一步举一个例子 我必须从同一张表中获取数据 在指定的日期5次 说
9.00 to 10.00
11.00 to 12.00
....
....
13.00 to 14.00 etc
答案 0 :(得分:1)
您还可以使用datepart()
函数来提取小时:
select datepart(hour, createdat), . . .
from . . .
where datepart(hour, createdat) between 9 and 13
group by datepart(hour, createdat)
order by datepart(hour, createdat);
答案 1 :(得分:0)
您可以从下面的代码的“使用日期”字段中断开时间部分。
select cast(CreatedDate as time) as TimePart
from your_Table_name
答案 2 :(得分:0)
我认为这非常简单,并且可以通过非常优化和节省的方式来完成。
Declare @input datetime='2018-09-04'
declare @starttime varchar(15)='13:00'
declare @endtime varchar(15)='14:00'
declare @StartDate datetime=@input+@starttime
declare @EndDate datetime=@input+@endtime
select * from
table1
where createdate>=@StartDate and createdate<=@EndDate