在SQL存储过程中给出两小时之间的分钟。
I am having start time : 07:00:00.0000000
I am having end time hour:15:00:00.0000000
I just want minute between these both.
这是我想要的SQL存储过程。
SELECT @Minutes= Datediff(Minute, CONVERT(TIME, @StartTime), CONVERT(TIME, @EndTime))
如果开始时间是23到7,则给出负整数。那该怎么办?这就像轮班时间。例如:6月1日23日至6月2日早上7点。
答案 0 :(得分:0)
使用 DateDiff
功能查找minutes
中的差异。问题是因为我们没有提到下一次约会之间的微小差异的日期。
Declare @StartTime datetime='2014-06-01 23:00:00',
@EndTime datetime='2014-06-02 7:00:00'
SELECT Datediff(minute, @StartTime, @EndTime )--480
SP
应该像
Create Procedure usp_MinuteDiff(@StartTime DateTime,@EndTime DateTime)
as
Begin
SELECT Datediff(Minute,@StartTime,@EndTime)
End
答案 1 :(得分:0)
试试这个
DECLARE @STARTDATE TIME = '07:00:00.0000000'
DECLARE @ENDDATE TIME = '15:00:00.0000000'
SELECT DATEDIFF(MINUTE, @STARTDATE,@ENDDATE)
更新:
DECLARE @STARTDATE DATETIME='2014-06-23 23:00:00'
DECLARE @ENDDATE DATETIME = '2014-06-24 07:00:00'
SELECT DATEDIFF(MINUTE, @STARTDATE,@ENDDATE)
答案 2 :(得分:0)
DECLARE @STARTDATE DATETIME='2014-06-23 23:00:00'
DECLARE @ENDDATE DATETIME = '2014-06-24 07:00:00'
SELECT DATEDIFF(MINUTE, @STARTDATE,@ENDDATE)
在datediff函数中,datepart指定需要提取的数据,它需要几小时并计算差异
答案 3 :(得分:0)
DATEDIFF(MINUTE,CAST(CAST(GETDATE()as date)as datetime)+ CAST(@StartTime as datetime), CAST(CAST(DATEADD(DAY,(@StartTime> @EndTime THEN 1 ELSE 0 END),GETDATE())as date)as datetime)+ CAST(@EndTime as datetime))..
这是简短而又甜蜜的答案。