SQL 计算日期之差,精确到天
自己一个人在家,没什么事情做,突然想起很久没有写东西了,于是.............
经常在对两个日期计算时,不仅想得到单独的年月日,想得到其详细信息,即将日期结果精确到天,下面上一个function和一个procedure 用于完成这个功能。
第一个函数版
create function [dbo].[GetYearMonthDayFun]( @begin datetime , @end datetime) returns varchar(50) as begin /* * 功能:计算两个日期之差 * * 作者:charry0110 * * 描述:返回年月日,结果精确到天,参数为getdate()时计算出生信息* */ declare @Ageyear int declare @Agemonth int declare @Ageday int set @Ageyear =datediff(year, @begin, @end)- case when dateadd(year, datediff(year, @begin, @end), @begin)> @end then 1 else 0 end set @Agemonth=ltrim(datediff(month, @begin, @end)- case when dateadd(month,datediff(month, @begin, @end),@begin)> @end then 1 else 0 end)-12*@Ageyear if(day(@begin)<day(@end) or day(@begin)=day(@end)) set @Ageday=day(@end)-day(@begin) else set @Ageday=datediff(day,(ltrim(year(@end))+'-' +ltrim(month(dateadd(mm,-1,@end)))+'-'+ltrim(day(@begin))), (ltrim(year(@end))+'-'+ltrim(month(@end))+'-'+ltrim(day(@end)))) return ltrim(@Ageyear)+'年'+ltrim(@Agemonth)+'月'+ltrim(@Ageday)+'天' /* --示例1 select dbo.GetYearMonthDayFun('2008-6-21',getdate()) --示例2 select dbo.GetYearMonthDayFun(crdate,refdate) from sysobjects --示例3 select dbo.GetYearMonthDayFun(crdate,getdate()) from sysobjects */ end
第二个存储过程版
create procedure [dbo].[GetYearMonthDayPro] ( @begin datetime , @end datetime ) as begin /* * 功能:计算两个日期之差 * * 作者:charry0110 * * 描述:返回年月日,结果精确到天,参数为getdate()时计算出生信息* */ declare @Ageyear int declare @Agemonth int declare @Ageday int set @Ageyear =datediff(year, @begin, @end)- case when dateadd(year, datediff(year, @begin, @end), @begin)> @end then 1 else 0 end set @Agemonth=ltrim(datediff(month, @begin, @end)- case when dateadd(month,datediff(month, @begin, @end),@begin)> @end then 1 else 0 end)-12*@Ageyear if(day(@begin)<day(@end) or day(@begin)=day(@end)) set @Ageday=day(@end)-day(@begin) else set @Ageday=datediff(day,(ltrim(year(@end))+'-' +ltrim(month(dateadd(mm,-1,@end)))+'-'+ltrim(day(@begin))), (ltrim(year(@end))+'-'+ltrim(month(@end))+'-'+ltrim(day(@end)))) select ltrim(@Ageyear)+'年'+ltrim(@Agemonth)+'月'+ltrim(@Ageday)+'天' /* --示例1 exec GetYearMonthDayPro '2008-6-21','2008-7-21' */ end
SQL 计算日期之差,精确到天相关推荐
- 日期函数DATEDIFF() 计算日期之差
datediff()函数返回两个日期之间的时间. detediff(datepart,startdate.endddate) satrtdate和enddate是你要计算的开始时间和截止时间 date ...
- sql计算日期时间差
方法一: SELECT TIMESTAMPDIFF(DAY,'2021-11-28','2021-10-19');---计算天数(结束日期在前) SELECT TIMESTAMPDIFF(Month, ...
- JS 计算日期天数差
function dayDiffer(startDate,endDate){console.info((endDate.getTime - startDate.getTime())/(24*60*60 ...
- JS计算日期天数之差
做项目的时候碰到一个问题,就是要计算2个日期之间的天数之差,于是上网搜索了一下,找到了解决方案,代码如下: //计算日期之差 function getDays(strDateStart,strDate ...
- JS判断两个日期的差或者判断两个日期的大小
1.判断两个日期的差: /**计算日期天数差的函数-hanliwei-2013-03-14*/ function DateDiff(sDate1,sDate2) { //sDate1和sDate2的格 ...
- mysql timestamp 差值_SQL计算timestamp的差值实例分享
本文主要介绍了SQL计算timestamp的差值的方法的相关资料,需要的朋友可以参考下,希望能帮助到大家. SQL计算timestamp的差值的方法 概述 有时候我们需要按照时间找出某些记录,比如说: ...
- mysql中日期怎样求差_在Sql语句中怎样计算出两个日期的差值
展开全部 sql语句中计算两个日期的差值用32313133353236313431303231363533e4b893e5b19e31333365643662datediff函数. 工具:sqlser ...
- 标 题:[转帖]SQL Server日期计算(收藏)
分 类:数据库相关 关键字 :日期 相 关:作者:未知 来源:xpilot 的 Blog 引 用:[0]http://goaler.xicp.net/TrackBack.asp ...
- SQL Server日期计算
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函 ...
最新文章
- Python手动实现kmeans聚类和调用sklearn实现
- eclipse中插件修改svn用户名密码
- mipi 调试经验【转】
- jq怎么回到顶部和回到尾部_回到学校系列为孩子们提供开放资源
- 物联网将如何改善社会运行效率?
- CentOS7中rpm,yum软件安装命令
- 四十三、配置防盗链、访问控制Directory、访问控制FilesMatch
- Win10 Terminal 背景图片设置
- 高校成绩管理数据库系统
- 推荐两款github敏感信息搜集工具(gsil、gshark)
- 绿幕抠图在手机上使用认识.
- 鸡年关于鸡的一些歇后语
- 认识CAPWAP隧道及其应用
- 【KGAT】Knowledge Graph Attention Network for Recommendation
- 02 推荐算法-(01) Model-Based 协同过滤算法
- 嵌入式开发<单片机软件调试>
- 微信小程序---家庭记账本开发(四)
- psp 6.61降级到_将电视挤到您的PSP上
- 如何在顶层使用await 【top level await】
- Mock.js的简单使用
热门文章
- 解决python3.7.2中pyinstall打包成exe文件工具的问题
- 天地图地图瓦片下载器
- 中国各地强化H7N9禽流感疫情防控工作
- 动态html动画是什么格式,gif动态图片制作视频格式文件
- 虚拟化 VMware ESXi(一)
- 服务器CPU使用率/负载状态达100%如何处理
- dell服务器 安装 Linux,DELL服务器安装linux系统
- 《悠悠岁月》安妮·埃尔诺
- 每天成长一点---WEB前端学习入门笔记
- kerberods挖矿病毒查杀及分析(crontab 挖矿 curl -fsSL https://pastebin.com/raw)