CREATE  FUNCTION ufn_hr_getagefrombirthday
(
@birthday DATE,
@now DATE =NULL )
RETURNS VARCHAR(20)
BEGIN IF (@now IS NULL OR @now = '')
BEGIN
SET @now = GETDATE();
END; DECLARE @age INT;
SET @age = 0; DECLARE @result VARCHAR(20); WHILE (DATEADD(YEAR, @age, @birthday) < @now)
BEGIN
SET @age = @age + 1;
END; SELECT @result
= CAST(CASE
WHEN (@age - 1) < 0 THEN
0
ELSE
(@age - 1)
END AS VARCHAR(4)) + '岁'
+ CAST(DATEDIFF(
DAY,
DATEADD( YEAR,
CASE
WHEN (@age - 1) < 0 THEN
0
ELSE
(@age - 1)
END,
DATEADD(DAY, 1, @birthday)
),
DATEADD(YEAR, @age, DATEADD(DAY, 1, @birthday))
) + 1 - (DATEDIFF(DAY, @now, DATEADD(YEAR, @age, DATEADD(DAY, 1, @birthday)))) AS VARCHAR(4))
+ '/'
+ CAST(DATEDIFF(
DAY,
DATEADD(YEAR, @age - 1, DATEADD(DAY, 1, @birthday)),
DATEADD(YEAR, @age, DATEADD(DAY, 1, @birthday))
)
AS VARCHAR(4)) + ''; RETURN @result;
END;

SQL 生日得到年龄的更多相关文章

  1. 【转载】Sqlserver根据生日计算年龄

    在Sqlserver中,可以根据存储的出生年月字段计算出该用户的当前年龄信息,主要使用到DateDiff函数来实现.DateDiff函数的格式为DATEDIFF(datepart,startdate, ...

  2. C#根据身份证号码,计算生日、年龄、性别

    朋友谈及身份证相关的信息,才了解到原来省份证号码中包含了年龄和性别. 这样在数据库中,就不必单独留字段存放它们了(不过,要根据具体情况来,要是读取频率较高,还是单独列出为好),这样顺带解决了年龄变更的 ...

  3. Java生日计算年龄工具

    package com.web.backend.util; import java.util.Calendar;import java.util.Date; /** * @Author: SongZS ...

  4. 【pandas】生日转年龄

    数据挖掘比赛中,获得的数据中可能有个人的生日,在数据分析中并不需要生日,而是需要年龄.不同年龄会呈现不同的状态,比如收入.健康.居住条件等,年龄能够很好的把不同样本的差异性进行大范围的划分.下面讲述如 ...

  5. java 根据生日计算年龄 Java问题通用解决代码

    根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算 ...

  6. C# 根据生日获取年龄

    C# 根据生日获取年龄 根据生日计算出准确的年龄,不等于0时,返回的是岁,等于0时,返回的是天(以‘-’来区分) public static string GetAgeByBirth(string B ...

  7. PHP--年龄转生日、生日转年龄

    /** * 年龄转生日(模糊结果) * @parameter int age(年龄) * @parameter string symbol(分隔符) * @return string (yyyy*mm ...

  8. 用sql语句实现年龄分段统计

    SELECT CASE WHEN (age >= 10 AND age <= 20) THEN '10-20' WHEN (age >= 21 AND age <= 30) T ...

  9. python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别

    import datetime '): birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d") today_d = date ...

随机推荐

  1. web3js 进行转账

    1.准备阶段 部署以太坊geth 安装nodejs npm install web3 npm install npm install ethereumjs-tx 其中, web3是1.0.0.beta ...

  2. C语言权威指南和书单 - 专家级别

    注: 点击标题即可下载 1. Advanced Programming in the UNIX Environment, 3rd Edition 2. Essential C 3. Computer ...

  3. linux解压缩文件名乱码问题 亲测可用

    unar 这个工具会自动检测文件的编码,也可以通过-e来指定:unar file.zip 即可解压出中文文件.

  4. 分别用命令行、NetBeans IDE 8.2实现firstcup 项目部署

    准备工作要搞好,对吧!(如下:) firstcup项目代码文件下载链接:click me~ NetBeans IDE 8.2下载链接:点我~(ps:建议下载此版本,再安装过程中,要选择安装GlassF ...

  5. 软件测试_Fiddler抓包工具一

    多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...

  6. Go学习之初出茅庐

    在一个月黑风高的夜晚,机缘巧合与Go语言一面之缘,被她的简洁.灵活.高效所吸引,让我有深入学习的冲动,现在开始我的成长之路吧.

  7. java-多线程(下)&GUI

    ###25.01_多线程(单例设计模式)(掌握) * 单例设计模式:保证类在内存中只有一个对象. * 如何保证类在内存中只有一个对象呢?     * (1)控制类的创建,不让其他类来创建本类的对象.p ...

  8. 简述iproute家族命令

    ifconfig 是用来查看.配置.启用或禁用网络接口的工具.可以用这个工具来临时配置网卡的IP地址.掩码.广播地址.网关等. 语法 ifconfig [interface] 参数 up 启动指定网络 ...

  9. 手机响应式echarts

    // 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 使用刚指定的配置项和数据 ...

  10. Centos7.4下安装Jumpserver 1.0.0(支持windows组件)

    0)系统环境CentOS 7.4 IP: 192.168.100.10 [root@jumpserver-server ~]# cat /etc/redhat-release CentOS Linux ...