DECLARE @Time AS NVARCHAR(5) DECLARE @Minute AS INT DECLARE @AddTime as NVARCHAR(5) SET @Time='13:00' SET @AddTime='03:50'SET @Minute=CONVERT(INT,LEFT(@Time,2))*60+CONVERT(INT,RIGHT(@Time,2)) SET @Minute=@Minute+ CONVERT(INT,LEFT(@AddTime,2))*60+CONVERT(INT,RIGHT(@AddTime,2))SET @Time=CONVERT(NVARCHAR(2),ROUND(@Minute/60,0))+':'+CONVERT(NVARCHAR(2),ROUND(@Minute%60,2)) PRINT @Time --16:50
declare @s varchar(5) set @s='13:00' select left(right(convert(varchar(20),dateadd(hh,3,cast(@s as datetime)),120),8),5)---------- 16:00(所影响的行数为 1 行)
Declare @str varchar(2)
declare @res intset @time='13:08'
set @str=substring(@time,0,len(@time))
set @res=cast(@str as int)+3
select @res
select @time='13:00' ,@add='08:20' --加8小时20分
select convert(varchar(5),dateadd(mi,datediff(mi,'2000-1-1','2000-1-1 ' + @add + ':00.000'), '2000-1-1 ' + @time + ':00.000'),108)
/*
21:20
*/
DECLARE @Time AS NVARCHAR(5)
DECLARE @Minute AS INT
DECLARE @AddTime as NVARCHAR(5)
SET @Time='13:00'
SET @AddTime='03:50'SET @Minute=CONVERT(INT,LEFT(@Time,2))*60+CONVERT(INT,RIGHT(@Time,2))
SET @Minute=@Minute+ CONVERT(INT,LEFT(@AddTime,2))*60+CONVERT(INT,RIGHT(@AddTime,2))SET @Time=CONVERT(NVARCHAR(2),ROUND(@Minute/60,0))+':'+CONVERT(NVARCHAR(2),ROUND(@Minute%60,2))
PRINT @Time
--16:50
set @s='13:00'
select left(right(convert(varchar(20),dateadd(hh,3,cast(@s as datetime)),120),8),5)----------
16:00(所影响的行数为 1 行)