rainrcn
/*
     计算年龄函数
*/
CREATE FUNCTION DBO.GETAGE
(
	@BIRTHDAY DATETIME,
	@NOWDAY DATETIME
)
RETURNS INT
AS
BEGIN
DECLARE @AGE INT, @YEAR INT, @MONTH INT, @DAY INT
SET @AGE = 0
SET @YEAR = 0
SET @MONTH = 0
SET @DAY = 0
SET @YEAR = DATEPART(YEAR,@NOWDAY) - DATEPART(YEAR, @BIRTHDAY)
SET @MONTH = DATEPART(MONTH,@NOWDAY) - DATEPART(MONTH, @BIRTHDAY)
SET @DAY = DATEPART(DAY,@NOWDAY) - DATEPART(DAY, @BIRTHDAY)
IF( @MONTH > 0)
SET @AGE = @YEAR
IF( @MONTH < 0)
SET @AGE = @YEAR - 1
IF(@MONTH = 0)
BEGIN
IF( @DAY >= 0)
SET @AGE = @YEAR
ELSE
SET @AGE = @YEAR -1
END
RETURN(@AGE)
END

 最近找到另一种更好的方法:

SELECT FLOOR(DATEDIFF(DAY,@BRITHDAY,GETDATE())/365.25)

分类:

技术点:

相关文章:

  • 2021-09-16
  • 2021-09-23
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
猜你喜欢
  • 2021-11-27
  • 2021-11-30
  • 2021-12-10
  • 2021-11-30
  • 2021-11-30
相关资源
相似解决方案