sql通过日期判断年龄函数的示例代码


Posted in SQL Server onJuly 16, 2021

定义函数:

CREATE FUNCTION [dbo].[GetAge]  
(  
@BirthDay nvarchar(20) --生日  
)  
RETURNS varchar(20)  
AS  
BEGIN  
if(@BirthDay is NUlL or @BirthDay='')
return '';
 -- Declare the return variable here  
 DECLARE @age varchar(20)  
 DECLARE @years int  
 DECLARE @months int  
 DECLARE @days int  
 -- Add the T-SQL statements to compute the return value here  
 set @age = ''  
  
 set @years = year(GETDATE()) - year(@birthday)  
 set @months = month(GETDATE()) - month(@birthday)  
 if day(@birthday)<=day(GETDATE())  
   set @days = day(GETDATE()) - day(@birthday)  
 else  
   begin  
     set @months = @months - 1  
     if MONTH(@birthday) in (1,3,5,7,8,10,12)  
       set @days = 31-day(@birthday)+day(GETDATE())  
     else if MONTH(@birthday) in (4,6,9,11)  
       set @days = 30-day(@birthday)+day(GETDATE())  
     else if MONTH(@birthday) = 2  
       if (year(@birthday)%4 = 0 and year(@birthday)%100 <> 0) or year(@birthday)%400 = 0  
         set @days = 29-day(@birthday)+day(GETDATE())  
       else  
         set @days = 28-day(@birthday)+day(GETDATE())  
   end  
 if @months < 0  
   begin  
     set @years = @years - 1  
     set @months = @months + 12  
   end  
 if @years = 0 and @months = 0  
 begin  
     return convert(varchar,@days+1) + '天'  
  end  
 if @years > 0  
   set @age = cast(@years as varchar(5)) + '岁'  
 if @years < 3 and @months > 0 and @years>-1  
 begin  
   set @age = @age + cast(@months as varchar(5)) + '月'  
 end  
 if @years<0  
 set @age=''  
 RETURN @age  
END

使用函数:

sql通过日期判断年龄函数的示例代码

到此这篇关于sql通过日期判断年龄函数的示例代码的文章就介绍到这了,更多相关sql日期计算年龄内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

SQL Server 相关文章推荐
SQL Server——索引+基于单表的数据插入与简单查询【1】
Apr 05 SQL Server
SQLServer2019 数据库的基本使用之图形化界面操作的实现
Apr 08 SQL Server
sqlserver2017共享功能目录路径不可改的解决方法
Apr 16 SQL Server
SQL Server中交叉联接的用法详解
Apr 22 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
SQL Server远程连接的设置步骤(图文)
Mar 23 SQL Server
SQL Server中的游标介绍
May 20 SQL Server
SQL Server中锁的用法
May 20 SQL Server
SQL SERVER中的流程控制语句
May 25 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
SqlServer数据库远程连接案例教程
数据库之SQL技巧整理案例
Jul 07 #SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 #SQL Server
SQL Server代理:理解SQL代理错误日志处理方法
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
You might like
php实现的返回数据格式化类实例
2014/09/22 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python测试驱动开发实例
2014/10/08 Python
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
Python 导入文件过程图解
2019/10/15 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
一套VC试题
2015/01/23 面试题
给学校的建议书
2014/03/12 职场文书
英语教师岗位职责
2014/03/16 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
学习考察心得体会
2014/09/04 职场文书
学校运动会通讯稿
2015/07/18 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
如何用python插入独创性声明
2021/03/31 Python