-- *********************************************** -- Author : -- Create Date : -- Description : 由秒返回时间格式字符串 -- *********************************************** CREATE FUNCTION [dbo].[fun_GetDateStr](@second BIGINT) RETURNS NVARCHAR(100) AS BEGIN DECLARE @Result NVARCHAR(100) DECLARE @hour INT SELECT @hour=0 DECLARE @minute INT SELECT @minute DECLARE @seconds INT SELECT @seconds=0 IF(@second>0) BEGIN --1. 1 计算有多少小时 SELECT @hour=CONVERT(INT,ROUND(CONVERT(MONEY,@second)/3600,0,1)) DECLARE @tmp INT SELECT @tmp=0 --1.2 排除小时后还剩余多少秒 SELECT @tmp=@second-3600*@hour --2.1 计算有多少分钟 SELECT @minute=CONVERT(INT,ROUND(CONVERT(MONEY,@tmp)/60,0,1)) --2.2 排除分钟后有剩余多少秒 SELECT @tmp=@tmp-60*@minute SELECT @seconds=@tmp --3.1 DECLARE @hourStr NVARCHAR(100) SELECT @hourStr=‘‘ SELECT @hourStr=CASE WHEN @hour>0 THEN CONVERT(NVARCHAR(100),@hour) + ‘小时‘ ELSE ‘‘ END DECLARE @minuteStr NVARCHAR(100) SELECT @minuteStr=‘‘ SELECT @minuteStr=CASE WHEN @minute>0 THEN CONVERT(NVARCHAR(100),@minute) + ‘分钟‘ ELSE ‘‘ END DECLARE @secondStr NVARCHAR(100) SELECT @secondStr=‘‘ SELECT @secondStr=CASE WHEN @seconds>0 THEN CONVERT(NVARCHAR(100),@seconds) + ‘秒‘ ELSE ‘‘ END SELECT @Result=@hourStr+@minuteStr+@secondStr END END ELSE BEGIN SELECT @Result=‘‘ END