首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期上的SQl差异

日期上的SQl差异
EN

Stack Overflow用户
提问于 2016-01-05 14:49:32
回答 4查看 93关注 0票数 3

我需要找出年份中两个date的差异,但是年份应该是十进制的示例,我需要找出16-jun-201030-Sep-2014之间的差异

而且应该是4.30

我尝试以下方式选择DATEDIFF(YY,'16-jun-2010','30-sep-2014')作为YearsOfServices

它只给我4个

EN

回答 4

Stack Overflow用户

发布于 2016-01-05 14:59:19

内置函数datediff()的作用是计算to日期之间跨越的期间边界的数量。

代码语言:javascript
复制
datediff(yy,'16 jun 2014','30 Sep 2015')

returns 1

如果您计算两个日期之间的差值(以天为单位),并将它们除以一个日历年的平均长度(以400年为单位的天数)(365.2425),则会得到更准确的结果:

代码语言:javascript
复制
datediff(day,{start-date},{end-date},) / 365.2425

例如,

代码语言:javascript
复制
select datediff(day,'1 Jan 2000' ,'18 April 2014') / 365.2425

return 14.29461248 -只需将其舍入到所需的精度即可。

票数 6
EN

Stack Overflow用户

发布于 2016-01-05 15:15:07

请试试这个

代码语言:javascript
复制
SELECT DATEDIFF(dd, '16-jun-2010','30-Sep-2014')/365.0 AS DiffDate

你要么试一试

代码语言:javascript
复制
SELECT DATEDIFF(mm, '16-jun-2010','30-sep-2014')/12.0 AS DiffDate
票数 0
EN

Stack Overflow用户

发布于 2016-01-05 15:47:27

你可以试试这个

代码语言:javascript
复制
Declare @a Date
declare @b date
set @a ='07-01-2013'
set @b='08-02-2014'




 select  (DATEDIFF(DAY,@a,@b))/convert(numeric,365)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34605742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档