SqlServer中计算实际年龄的方法
Excel中有个计算日期差的函数datedif,SqlServer中也有一个类似函数datediff,但是两个函数的计算逻辑是不一致的:
Excel中的datedif函数,计算精度到日,不足日的月份差额要减一,不足月的年份差额要减一,例如
DATEDIF("1976-09-29","2022-09-28","y") = 45
但是在SqlServer中,计算年份日期差是直接按照年份数值相减,而不会考虑是否足月;计算月份差也是直接年份加月份相减,也不会考虑日期是否不足,所以上面两个日期在SqlServer中计算结果会不一样
SELECT DATEDIFF(yy,'1976-09-29', '2022-09-28') = 46
项目中有个需求需要计算人员实际年龄,如果在Excel中计算就非常容易,直接用DATEDIF函数就能算出人员实际年龄,但是如果在SqlServer中,就稍微麻烦点了,直接使用DATEDIFF函数算出来的实际年龄是虚岁,所以要改一下sql的计算,修改如下:
SELECTCASE WHEN MONTH(getdate())-MONTH('1976-09-29') > 0 THENyear(getdate())-year('1976-09-29')ELSE CASE WHEN MONTH(getdate())-MONTH('1976-09-29') = 0 THENCASE WHEN Day(getdate()) - Day('1976-09-29') < 0 THENyear(getdate())-year('1976-09-29')-1ELSE year(getdate())-year('1976-09-29')ENDELSEyear(getdate())-year('1976-09-29')-1ENDEND
SqlServer中计算实际年龄的方法相关推荐
- python如何使用三角函数_Python中计算三角函数之cos()方法的使用简介
Python中计算三角函数之cos()方法的使用简介 这篇文章主要介绍了Python中计算三角函数之cos()方法的使用简介,是Python入门的基础知识,需要的朋友可以参考下 cos()方法返回x弧 ...
- python计算cos_Python中计算三角函数之cos()方法的使用简介
Python中计算三角函数之cos()方法的使用简介 cos()方法返回x弧度的余弦值. 语法 以下是cos()方法的语法: cos(x) 注意:此函数是无法直接访问的,所以我们需要导入math模块, ...
- sqlserver中计算某个特殊字符在字符串中出现的位置
-- ============================================= -- Author: Evan -- Create date: 2018年3月15日10:59:45 ...
- sqlserver中删除重复行的方法
前段时间,公司同事不小心在数据库表中重加了数据,不多,7000条左右.因为信息比较重要,不能删错了.但也不能有重复数据.所以找我求救. 解决问题后,总结如下: SQL Server删除重复行是我们最常 ...
- YOLO-目标检测中计算AP、MAP方法
根据这个代码就可以计算到出各类别的AP/MAP值 # -------------------------------------------------------- # YOLOv4 # 2020. ...
- 在SQLServer中区分大小写的几种方法
第一种:(蟋蟀) ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS --不区分大小写 ALTER ...
- sql 批量插入数据到Sqlserver中 效率较高的方法
使用SqlBulk #region 方式二 static void InsertTwo() { Console.WriteLine("使用Bulk插入的实现方式"); Stopwa ...
- sqlserver中计算日期差
SELECT DATEDIFF(d,'2005-07-20','2005-7-25 22:56:32') 注:计算相差天数结果为5 注:https://www.jianshu.com/p/77f290 ...
- SqlServer中BCP导出数据的方法
exec master..xp_cmdshell 'bcp "select * from canyin.dbo.t_chanpin" queryout c:/csv/a.csv - ...
最新文章
- Codemirror-开源在线代码编辑器
- spring mvc DispatcherServlet详解之一---处理请求深入解析(续)
- APM - 使用JavaAgent+Javassit 插桩C3P0
- 思考 | 人工智能时代:AI芯片能否实现弯道超越?
- [转载]Linux下getopt()函数的简单使用
- 指纹图谱相似度评价软件_不同产地佛手指纹图谱及模式识别研究
- 三、后台实战——用户登录之JWT
- 图像像素点赋值_OpenCV学习笔记(二)之图像阈值化
- Python excel转txt文件
- 矩阵分解(5)-- 正定矩阵与半正定矩阵
- [Python从零到壹] 五十三.图像增强及运算篇之直方图均衡化处理
- 金税盘时钟异常的处理方法及处理流程
- 百度、阿里、美团、头条…论剑AI,这里有开发者想知道的未来
- 还是忍不住说说特斯拉的恐怖
- 手机电源键关不了屏幕_手机关机关不了,屏幕也划不了,怎么办
- Cordova app 检查更新 ----JS进行调用(二)
- python-opencv图片合成视频
- Matlab--绘制高逼格地形图
- python心理学实验程序_心理学实验设计程序软件除了 DMDX,E-prime,还有哪些?
- 贾小伟—Web前端开发工程师(作品集)