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 相关文章推荐
mybatis调用sqlserver存储过程返回结果集的方法
May 08 SQL Server
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
Jun 30 SQL Server
Windows环境下实现批量执行Sql文件
Oct 05 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
SQL Server中常用截取字符串函数介绍
Mar 16 SQL Server
sqlserver连接错误之SQL评估期已过的问题解决
Mar 23 SQL Server
SQL SERVER中的流程控制语句
May 25 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
SQL Server删除表中的重复数据
May 25 SQL Server
详解SQL报错盲注
Jul 23 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 xml文件操作实现代码(二)
2009/03/20 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
urllib2自定义opener详解
2014/02/07 Python
Flask框架配置与调试操作示例
2018/07/23 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
jupyter notebook实现显示行号
2020/04/13 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
语文教育专业推荐信范文
2013/11/25 职场文书
总经理秘书工作职责
2013/12/26 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
团代会开幕词
2015/01/28 职场文书
承诺书范本大全
2015/05/04 职场文书
2015年中秋节主持词
2015/07/30 职场文书
课程设计感想范文
2015/08/11 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
python获取对象信息的实例详解
2021/07/07 Python
使用CSS设置滚动条样式
2022/01/18 HTML / CSS