1. 2つの時間の時間差を計算します(時間:分:秒)。
- ============================================= - プログラム名前:GetMCBTimeDifferenceByDateTime - 時間を作成:2017年7月18日 - 著者:PXQ - 機能:2回(時間:分:秒)間の計算時間差 - 例:[DBO]を選択し.GetMCBTimeDifferenceByDateTime_New( ' 2018-01- 01 10:59:30 '、' 2018-01-02 12:30:20 ')--25:30:50 - ==================== ========================= CREATE 関数 [ DBO ]。[ GetMCBTimeDifferenceByDateTime_New ] ( @MCBSheetDateTime 日時、- 時間 @NowTimeの 日時 - 比較時間 ) RETURNS NVARCHAR(MAX ) AS BEGIN - 定義されたフィールド名のニーズリターンへ のDECLARE @ReturnNameの データ型はnvarchar(最大) のDECLARE @dayの int型 のDECLARE @hourの int型の DECLARE @min int型の DECLARE @sec int型の DECLARE @alls int型 のSET @alls = DATEDIFF(S、@MCBSheetDateTime、@NowTime) - 時刻との時間差 SET @day = @alls / 86400 SET @hour =(@alls - @day * 86400)/ 3600 セット @Min =(@alls - @day * 86400 - @hour * 3600)/ 60 セット @sec = @alls - @day * 86400 - @hour * 3600 - @min * 60 セット @ReturnName =(選択(ケースの とき 変換(nvarchar(10)、(@day * 24 + @hour))は null 、次に '' else convert(nvarchar(10)、(@day * 24 + @hour))end )) set @hour = @day * 24 + @hour ; - 返回天时分秒 選択 @ReturnName =(場合 でlen(@hour)> 1 then(cast(@hour as varchar(5)))else(' 0 ' + cast(@hour as varchar(5)))end)+ ' :' + (case when len(@min)> 1 then CAST(@min as varchar(2))else(' 0 ' +CAST(@min as varchar(2)))end ) + ' :' + (case when len(@sec)> 1 then CAST(@sec as varchar(2))else(' 0 ' + CAST(@sec as varchar(2)))end ) + '' RETURN @ReturnName END 2つの時間の時差を計算します(時:分:秒)。
2.現在との時差(分)を計算する
- ============================================= - プログラム名前:GetTimeDifferenceByDateTime - 時間の作成:2017年7月18日を - 著者:PXQ - 機能:現在の時間差(分)までの距離を計算する - 例:.GetTimeDifferenceByDateTime [DBO]を選択(( 「2019年2月27日10を選択:59 ')) -- 29 - ============================================= ===== CREATE 関数 [ DBO ]。[ GetTimeDifferenceByDateTime ] ( @datetime 日時 - 時間 ) RETURNS NVARCHAR(MAX ) AS BEGIN -返されるフィールド名を定義します declare @ReturnName nvarchar(max ) declare @day int declare @hour int declare @min int declare @sec int declare @alls int set @alls = datediff(s、@DateTime、GETDATE()) - そして、時間との時間差 のSET @day = @alls / 86400 SETの @hour =(@alls - @day * 86400)/ 3600 セット @Min =(@alls - @day * 86400 - @hour * 3600)/ 60 セット @sec = @alls - @day * 86400 - @hour * 3600 - @Min * 60 - 返回分钟 セット @ReturnName =(select(case when convert(nvarchar(50)、((@day * 24 +@hour)* 60)+ @min)は null 、次に '' else convert(nvarchar(50)、((@day * 24 + @hour)* 60)+ @min)end )) RETURN @ReturnName END