探讨如何计算age的sql函数
探讨如何计算age的sql函数
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:ALTERFUNCTION[dbo].[get_FullAge](@birthdaydatetime,@currentDa...

复制代码 代码如下:

ALTER FUNCTION [dbo].[get_FullAge]

(

@birthday datetime, @currentDay datetime

)

RETURNS INT

AS

BEGIN

DECLARE @age INT

SET @age = DATEDIFF(YEAR, @birthday, @currentDay)

IF DATEDIFF(DAY, DATEADD(YEAR, @age, @birthday), @currentDay) <= 0

SET @age = @age - 1

IF DATEPART(MONTH, @birthday) = 2 AND DATEPART(DAY, @birthday) = 29 AND DATEPART(MONTH, @currentDay) = 3

AND DATEPART(DAY, @currentDay) = 1 AND

NOT (YEAR(@currentDay) % 4 = 0 AND (YEAR(@currentDay) % 100 !=0 OR YEAR(@currentDay) % 400 = 0))

SET @age = @age - 1

IF @age < 0

SET @age = 0

RETURN @age

END

--Sql根据出生日期计算age(不是很准确)

1. select datediff(year,EMP_BIRTHDAY,getdate()) as '年龄' from EMPLOYEEUnChangeInfo

2. floor((DateDiff(day,u.EMP_BIRTHDAY,getdate()))/365

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mysql数据库学习
热门mysql数据库学习
编程开发子分类