【数据库】SQLSERVER返回日期差格式为X年X月X日格式的函数

自定义sql返回日期差格式为X年X月X日格式函数:

ALTER FUNCTION [dbo].[datediff_ymd]								-- 计算日期差返回*年*月*日 
(
	@startdate DATETIME,    									-- 开始时间
	@enddate DATETIME   										-- 结束时间
)
RETURNS VARCHAR(50)
AS
BEGIN
	
	DECLARE
	@day INT,													-- 天数
	@year INT,													-- 年
	@month INT,													-- 月
	@day2 INT,													-- 天
	@ymd varchar(50)											-- 返回*年*月*日 		

	SET @day =  DATEDIFF(day,@startdate,@enddate)
	SET @year = @day/365
	SET @month = (@day - @year * 365)/30
	SET @day2 = @day - @year * 365 - @month * 30
	SET @ymd=CONVERT(VARCHAR(10),@year)+'年'+CONVERT(VARCHAR(10),@month)+'月'+CONVERT(VARCHAR(10),@day2)+'天' 

	Return Convert(varchar(20), @ymd, 120)

END

你可能感兴趣的:(数据库)