码迷,mamicode.com
首页 > 数据库 > 详细

sql 查询年龄

时间:2018-12-25 11:29:50      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:@age   substr   int   class   com   arch   技术分享   ediff   day   

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        wgx
-- Create date: <Create Date, ,>
-- Description:    <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].Func_GetAge
(
    @birthday bigint
)
RETURNS int
AS
BEGIN
    DECLARE @age int ;

    if(@birthday is null or LEN(@birthday)<8)
    begin
        set @age=0;
    end
    else 
    begin
        set @age=FLOOR(datediff(DY, (LEFT(@birthday, 4) + - + SUBSTRING(CAST(@birthday AS varchar), 5, 2) + - + SUBSTRING(CAST(@birthday AS varchar), 7, 2) +  00:00:00), getdate()) / 365.25);
    end
    
    RETURN @age;
END
GO

dbo.Func_GetAge(19820212)

技术分享图片

sql 查询年龄

标签:@age   substr   int   class   com   arch   技术分享   ediff   day   

原文地址:https://www.cnblogs.com/wgx0428/p/10172314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!