1. 程式人生 > >SQL中時間數值int型別轉換為時間型別

SQL中時間數值int型別轉換為時間型別

最近接受一個任務,需要分析一批次操作的發生時間的規律,我從業務系統匯出資料,發現在系統中把時間已經轉換成int的數值型別,諮詢知道是時間轉化成秒了,仔細考慮這麼處理懷疑是系統當時設計的時候跨資料庫的考慮。真是鬱悶,看不明白,需要轉化成時間,在網上尋找,也沒有這種做法的,那只有自己動手了,自己編寫一個函式,做個轉換。

程式碼如下:

CREATE FUNCTION [dbo].[GetTime] (@mytime as int ) ---根據時間值返回時間
RETURNS  varchar(50)  AS 
BEGIN
declare @inttime int---輸入時間數值
declare @hour int --小時
declare @minute int--分鐘
declare @second int--秒
declare @time varchar(50)
set  @

[email protected]
set @hour=convert(int,@inttime/3600)--被3600整除的數為小時數
set @minute=convert(int,(@inttime%3600)/60)--被3600整除後的餘數除以60為分鐘數
set @second=(@inttime%3600)%60--最終的餘數為秒數
set @time=LTRIM(RTRIM(str(@hour)))+':'+LTRIM(RTRIM(str(@minute)))+':'+LTRIM(RTRIM(str(@second)))---對生成的字串取消空格
return @time
END