SQl 日期差异

标签 sql sql-date-functions sqldatetime

我需要找出两个 date 年的差异 但年份应该是小数 例子 我需要找出 16-jun-201030-Sep-2014

之间的区别

它应该是 4.30

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

它只给我4

最佳答案

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

datediff(yy,'16 jun 2014','30 Sep 2015')

returns 1

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

datediff(day,{start-date},{end-date},) / 365.2425

例如,

select datediff(day,'1 Jan 2000' ,'18 April 2014') / 365.2425

return 14.29461248 — 将其四舍五入到所需的精度。

关于SQl 日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34605742/

相关文章:

来自命令行的sqlite3 : dump schema into . sql文件

MySQL 服务器版本,用于在第 1 行 'type=heap' 附近使用正确的语法

java - 使用 android 发布数据时出错

mysql - 使用MySQL获取当前在线员工

java - 使用 SQL Server 和 MyBatis 的批处理 "insert if missing"

sql - 在 SQL 中加入最接近的日期

java - 使用java字符串的两个日期语句之间的SQL

java - Servlet 获取日期和时间

sql - T-SQL 计算不同年份范围之间的持续时间(以月为单位)

Java日期转sql日期