How to use DATEDIFF to return year, month and day?

后端 未结 9 939
离开以前
离开以前 2020-12-10 22:36

How can I use DATEDIFF to return the difference between two dates in years, months and days in SQL Server 2005

DATEDIFF (date , dat         


        
9条回答
  •  醉话见心
    2020-12-10 23:18

    The Modified Function

    ALTER FUNCTION [dbo].[gatYMD](@dstart VARCHAR(50), @dend VARCHAR(50))
    RETURNS VARCHAR(50) AS
    BEGIN
        DECLARE @yy INT
        DECLARE @mm INT
        DECLARE @getdd INT
        DECLARE @dd INT
    
        SET @yy = DATEDIFF(yy, @dstart, @dend)
        SET @mm = DATEDIFF(mm, @dstart, @dend) - (12 * @yy)
        SET @dd = ABS(DATEDIFF(dd, DATEADD(mm, DATEDIFF(mm, DATEADD(yy, @yy, @dstart), @dend), DATEADD(yy, @yy, @dstart)), @dend))
    
    
        Return (Convert(varchar(10),@yy) + ' year ' + Convert(varchar(10),@mm) + ' month '  + Convert(varchar(10),@dd) + ' day ')
    
    END
    

提交回复
热议问题