返回时间差值。大于1天,返回天;小于1天且大于60分钟返回小时;小于60分钟大于1分钟,返回分钟;小于60秒,返回秒


-- =============================================
-- 返回时间差值。大于1天,返回天;小于1天且大于60分钟返回小时;小于60分钟大于1分钟,返回分钟;小于60秒,返回秒
-- =============================================
ALTER FUNCTION [dbo].[F_BACK_DIFF_TIME]
(
    -- Add the parameters for the function here
    @TIME VARCHAR(50)
)
RETURNS VARCHAR(50)
AS
BEGIN
    -- Declare the return variable here
    DECLARE @DIFF_TIME VARCHAR(50)

    DECLARE @XTSJ VARCHAR(20)
    SET @XTSJ = CONVERT(VARCHAR(20),GETDATE(),120)
    
    IF DATEDIFF(MINUTE,@TIME,@XTSJ) < 1 --小于60秒(1分钟)
    BEGIN
    
         SELECT @DIFF_TIME = CAST(FLOOR(( DATEDIFF(SECOND, @TIME, @XTSJ)  ) )  AS VARCHAR(10)) + '秒前'
    
    END
    
    IF DATEDIFF(MINUTE,@TIME,@XTSJ) < 60 AND DATEDIFF(MINUTE,@TIME,@XTSJ) >= 1 --小于60分钟(1小时)大于1分钟
    BEGIN
    
         SELECT @DIFF_TIME = CAST(FLOOR(( DATEDIFF(MINUTE, @TIME, @XTSJ) % 1440 ) ) AS VARCHAR(10)) + '分钟前'
    
    END
    
    IF DATEDIFF(MINUTE,@TIME,@XTSJ) < 1440 AND DATEDIFF(MINUTE,@TIME,@XTSJ) >=60  --小于1天且大于等于60分钟(1小时)
    BEGIN
    
         SELECT @DIFF_TIME = CAST(FLOOR(( DATEDIFF(MINUTE, @TIME, @XTSJ) % 1440 ) / 60) AS VARCHAR(10)) + '小时前'
    
    END
    
    IF DATEDIFF(MINUTE,@TIME,@XTSJ) >= 1440  --大于等于1天
    BEGIN
    
         SELECT @DIFF_TIME = CAST(FLOOR(DATEDIFF(MINUTE, @TIME, @XTSJ) / 1440) AS VARCHAR(10)) + '天前'
    
    END
    
    
    
    -- Return the result of the function
    RETURN @DIFF_TIME

 

 

END

 

 

不够一小时的

不够一天的

一天以上的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值