這是自己寫的方法,總覺得會有更好的辦法實現這個效果呢?
SELECT case when CONVERT(nvarchar,DATEDIFF(SECOND,FinishAt,getdate() ))>86400 then CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )/86400)+'天'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%86400/3600)+'時'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%86400%3600/60)+'分'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%86400%3600%60)+'秒' when CONVERT(nvarchar,DATEDIFF(SECOND,FinishAt,getdate() ))>3600 then CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )/3600)+'時'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%3600/60)+'分'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%3600%60)+'秒' when CONVERT(nvarchar,DATEDIFF(SECOND,FinishAt,getdate() ))>60 then CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )/60)+'分'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%60)+'秒' else CONVERT(nvarchar,DATEDIFF(SECOND,FinishAt,getdate() ))+'秒' end TimeSpend FROM [BPMDB].[dbo].[BPMInstTasks] A