js生日计算年龄_用T-SQL计算明细年龄问题.
提前说一下,有一个bug,就是出生日期等于getdate()的时候,由于没有精确到时分秒,而无法计算年龄。
过几天补上。
/*计算明细年龄问题*/DECLARE @ADATE DATETIME, @BIRTHDAY DATETIME, @AYEAR INT,@AMONTH INT,@ADAY INT,@BDAY INT, @RVALUE VARCHAR(20)
SET @RVALUE = ''
SET @BIRTHDAY ='2019-06-21 10:00:00.000'
SET @ADATE = GETDATE()
SET @ADAY = DATEDIFF(DAY, @BIRTHDAY, @ADATE) --当前日期与生日的日期IF @ADAY > 0 --即 出生日期大于当前日期,生日day>当前dayBEGIN--当前日期与生日的月份差值SELECT @AMONTH = DATEDIFF(MONTH, @BIRTHDAY, @ADATE),--DATEPART 用于返回日期的单独部分,当前日期的日减去生日的日,赋值给@BDAY@BDAY = DATEPART(DAY, @ADATE) - DATEPART(DAY, @BIRTHDAY)SET @AYEAR = @AMONTH / 12 --年=总月份/12SET @AMONTH = @AMONTH % 12 --总月份除以12取余--如果当前日减去生日的日小于0 ,将总月份除以12的余数减一IF @BDAY < 0 SET @AMONTH = @AMONTH - 1 --如果上一个条件成立,且当@AMONTH=0 时,@AMONTH = @AMONTH - 1<0 ,条件成立,年龄=@AYEAR-1,月份=@AMONTH=12+@AMONTHIF @AMONTH < 0 SELECT @AYEAR = @AYEAR - 1, @AMONTH = 12 + @AMONTH IF @BDAY < 0BEGINSET @BIRTHDAY = DATEADD(MONTH, @AMONTH, @BIRTHDAY)SET @BIRTHDAY = DATEADD(YEAR, @AYEAR, @BIRTHDAY)SET @BDAY = DATEDIFF(DAY, @BIRTHDAY, @ADATE)ENDSET @RVALUE=CAST(@AYEAR AS VARCHAR)+'岁'+CAST(@AMONTH AS VARCHAR)+'月'+CAST(@BDAY AS VARCHAR)+'日'SELECT @RVALUEEND
在后边加上这句,即可实现精确到分
elseif @aDay = 0beginset @amin = datediff(minute, @BIRTHDAY, @aDate)if @amin > 0beginset @ahour = @amin / 60set @amin =@amin % 60if @ahour = 0 set @rvalue = convert(varchar(9), @amin) + '分'elseif @ahour > 0 set @rvalue = convert(varchar(9), @ahour) + '时'+convert(varchar(9), @amin) + '分'endSELECT @RVALUEend
js生日计算年龄_用T-SQL计算明细年龄问题.相关推荐
- 边缘计算架构_多接入边缘计算框架与参考架构简介
1. 引言 在2014年,欧洲电信标准化协会(European Telecommunications Standards Institute, ETSI)将边缘计算与移动通信网络融合,提出了移动边缘计 ...
- crout分解计算例题_专题:化学方程式计算
一. 根据化学方程式的简单计算 (1) 根据化学方程式计算的依据 化学方程式表达的信息之一是反应物与生成物之间在"遵循固定质量比"的前提下的质量守恒.根据这一信息,可以利用化学方程 ...
- 给定经纬度计算距离_通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ
通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...
- excel表格计算年龄_在Excel中计算年龄
excel表格计算年龄 Can you remember how old you are? Or are you like me, and have to ask, "What year i ...
- 用函数计算工龄_还在加班熬夜求年龄,算工龄,学会这招让你分分钟钟搞定这些!...
点击上方蓝色小字 关注我们哟! 前几天有个朋友给我吐槽,老大要她把全公司500号人的年龄和工龄统计下,忙得她周末都没有休息好,结果因为有几个数据一不小心弄错了,还被老大嫌弃了一番,郁闷至极.后来仔细一 ...
- python计算学生年龄_用pandas快速统计学生年龄班级等分组信息
最近收到一个求助邮件,他的需求如下: 我是小学的一名统计员,因长期做统计工作,近期,自学一点python,但如何把excel中的8位数出生日期转成年龄,一直做不好,现请您帮忙一下,不知能否帮! 这个问 ...
- 平流式沉淀池计算例题_平流式沉淀池计算例题
平流沉淀池的设计: 已知设计水量Q=300000m 3/d .设计平流式沉淀池. 2.设计计算 (1)池容积W (2)单池容积W (3)单池池面积F (4)池深H (5)池长L (6)池宽B 1.Q= ...
- 推理计算过程_初中物理电学计算题第六讲:极值问题推理和限制条件
初中物理电学计算题第六讲:极值问题推理和限制条件 前面已经讲过:初中物理电学计算题第三讲:串联电路电流电阻极值推理实例,本讲是这一问题的进一步深入讨论. 题型分析 极值问题是电学计算题中一类较难的题目 ...
- python 跳过计算错误_在python中计算分数时如何跳过被0除的错误?
我正在运行一个很长的CSV文件下面的函数.函数每50行计算列MFE的Z分数.这50行中有一些只包含零,因此在计算Zscore时,程序会停止,因为它不能被零除.如何解决这个问题,而不是停止程序运行打印这 ...
- python 科学计算设计_《Python科学计算-(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...
第1章 Python科学计算环境的安装与简介 1 1.1 Python简介 1 1.1.1 Python 2还是Python 3 1 1.1.2 开发环境 2 1.1.3 集成开发环境(IDE) 5 ...
最新文章
- linux iptables详解
- 列举6个常见且实用的Web前端性能优化方法
- python多维数据分析_Python 数据分析:numpy 多维数组 ndarray
- ffplay命令汇总
- 细节之中自有天地,整洁成就卓越代码
- windows下的workon env
- 测试面试题集-Python三局两胜小游戏
- git与gitk查看某个文件的历史提交记录
- Makefile编写练习题
- ai google 风格化图像_谷歌 AI 新方法:可提升 10 倍图像识别效率,关键还简单易用...
- C++ Primer 第5版--练习9.31
- 如何在Linux里面安装Java的运行环境(详细过程)
- html播放器投屏,迅雷播放器投屏到电视如何操作
- 参数是list集合校验,使用@Vaild或者@Vaildated不起作用
- 总价合同、成本补偿合同、工料合同
- 如何关闭Mybatis的DEBUG log打印
- 关于simplis仿真和驱动方法
- js【详解】arr.splice() 数组拼接
- qt 为什么只有86安装版的_为什么有的家长付出一切,孩子却不领情、不感恩、不理解?...
- 申请邮箱需要什么,邮箱申请方法开通条件教程分享