Sql server SQL Server中的时间和日期

Sql server SQL Server中的时间和日期,sql-server,Sql Server,输入:5/2/2016 08:00:00至12:30:00 我需要通过以下存储过程将行插入上表 在08:00和12:30之间每一小时 create table app ( start_date date, end_date date, start_time time(7), end_time time(7) ); 我的代码是 insert into app values ('5/2/2016', '5/2/2016', '08:00:00', '

输入:
5/2/2016 08:00:00至12:30:00

我需要通过以下存储过程将行插入上表

在08:00和12:30之间每一小时

create table app 
(
     start_date date, 
     end_date date, 
     start_time time(7), 
     end_time time(7)
);
我的代码是

insert into app values ('5/2/2016', '5/2/2016', '08:00:00', '09:00:00')
insert into app values ('5/2/2016', '5/2/2016', '09:00:00', '10:00:00')
insert into app values ('5/2/2016', '5/2/2016', '10:00:00', '11:00:00')
insert into app values ('5/2/2016', '5/2/2016', '11:00:00', '12:00:00')
@j时间(7);
@时间(7);
从someTable中选择@time=time;
设置@j=@startTime;

而(@j在本例中,要将时间添加到日期时间,您可以先按如下方式进行转换:

要向datetimes添加整数,需要使用

例如:

DECLARE @date DATETIME, @time time
SET @date='2010-10-01'
SET @time='15:00:00'
SET @date=@date+CAST(@time AS DATETIME)
SELECT @date AS DATETIME

在这种情况下,要向datetime添加时间,可以先将其转换为:

要向datetimes添加整数,需要使用

例如:

DECLARE @date DATETIME, @time time
SET @date='2010-10-01'
SET @time='15:00:00'
SET @date=@date+CAST(@time AS DATETIME)
SELECT @date AS DATETIME
改变

改变


dateadd()函数返回datetime类型。是否有函数分别获取日期和时间@Gaspa79@Narendradateadd()返回传入的日期参数的相同数据类型,除非它是字符串文字,在这种情况下它将是datetime.dateadd()函数返回日期时间类型。是否有函数分别获取日期和时间@Gaspa79@Narendradateadd()返回传入的日期参数的相同数据类型,除非它是字符串文字,在这种情况下它将是datetime。只需使用
datetime2
。从日期中分割超时是一种反模式。
time
类型应仅用于日期无关紧要的日期值,如每日日程安排的时间uled过程。另外:您的
INSERT-INTO
语句列出了要插入值的四列-但是您在
values()中提供了五个值
子句…..只需使用
datetime2
。从日期中分割超时是一种反模式。
time
类型应仅用于日期无关紧要的日期时间值,如每日计划进程的时间。此外,
INSERT-INTO
语句列出了要插入值的四列-尚未在
values()
子句中提供五个值。。。。。
DATEADD(second,1,@j)
SET @j=@j+@time;
select  @j = DATEADD(MINUTE, DATEPART(MINUTE, @time), 
                     DATEADD(HOUR, DATEPART(HOUR, @time), @j))