SQL Server 日期差异

     2023-03-29     280

关键词:

【中文标题】SQL Server 日期差异【英文标题】:SQL Server date differences 【发布时间】:2018-05-09 18:15:19 【问题描述】:

如何从下表中找出总天数?我尝试了DATEDIFF 函数,但我无法得到我的结果。

date                      days 
-------------------------------
2017/11/10
2017/11/12
2017/11/15

天之间的差异应该是这样的

2017/11/12-2017/11/10, 2017/11/15-2017/11/12.

【问题讨论】:

您使用的是什么版本的 SQL Server? Sql server 2005 【参考方案1】:

您可以使用LAG(SQL Server 2012 及更高版本):

CREATE TABLE t(d DATE);
INSERT INTO t(d)VALUES ('2017-11-10'), ('2017-11-12'), ('2017-11-15');

SELECT *, DATEDIFF(day, LAG(d) OVER(ORDER BY d ASC),d)
FROM t;

Rextester Demo

对于 SQL Server 2005,您可以使用:

SELECT s.*, DATEDIFF(day, s2.d, s.d) AS days
FROM (SELECT *,  ROW_NUMBER() OVER(ORDER BY d) AS rn FROM t) s
LEFT JOIN (SELECT *,  ROW_NUMBER() OVER(ORDER BY d) AS rn FROM t) s2
  ON s.rn = s2.rn+1;

Rextester Demo2

【讨论】:

SQL Server:计算上一个日期和当前日期之间的天数差异

】SQLServer:计算上一个日期和当前日期之间的天数差异【英文标题】:SQLServer:Countdaysdifferencebetweenpreviousdateandcurrentdate【发布时间】:2018-03-2614:36:51【问题描述】:我一直在尝试找到一种方法来计算两个日期与前一行和当前行之... 查看详情

sql server中两个日期时间的差异

】sqlserver中两个日期时间的差异【英文标题】:Differenceoftwodatetimeinsqlserver【发布时间】:2011-01-0803:52:42【问题描述】:有什么办法可以取sqlserver中两个datetime的区别?例如,我的日期是2010-01-2215:29:55.0902010-01-2215:30:09.153所以,结... 查看详情

SQL Server、Excel 和 MS Access 中的日期差异

】SQLServer、Excel和MSAccess中的日期差异【英文标题】:VarianceinDatesinSQLServer,ExcelandMSAccess【发布时间】:2021-04-2006:36:20【问题描述】:我注意到当我将日期转换为整数时,我在SQLServer、Excel和MSAccess中得到不同的值。例如,在SQLServer... 查看详情

尝试删除 SQL Server 中的重复行,其中差异是日期或批号

】尝试删除SQLServer中的重复行,其中差异是日期或批号【英文标题】:TryingtodeleteduplicaterowsinSQLServerwherethedifferenceisthedateorbatchnumber【发布时间】:2021-12-2507:22:26【问题描述】:我有这个问题:SELECTT1.ID_NUMBER,T1.INCEPTION_DATE,T1.OCCURREN... 查看详情

表中行上的 SQL Server Datediff

】表中行上的SQLServerDatediff【英文标题】:SQLServerDateDiffOnRowsInTable【发布时间】:2018-09-2720:13:22【问题描述】:我有一个查询,它在不同的行上分组开始和停止时间,其中批次编号1是开始时间,批次编号2是停止时间,我需要对... 查看详情

在 MS Access 或 SQL Server 中查找 2 个表之间的差异

】在MSAccess或SQLServer中查找2个表之间的差异【英文标题】:Findingdifferencebetween2tablesinMSAccessorSQLServer【发布时间】:2012-06-2913:31:07【问题描述】:我有2个Excel文件作为两个表格导入MSAccess。这两个表相同,但在不同日期导入。现在... 查看详情

SQL - 按多列分组后查找日期差异

】SQL-按多列分组后查找日期差异【英文标题】:SQL-Findthedifferenceindatesaftergroupingbymultiplecolumns【发布时间】:2016-08-0415:58:47【问题描述】:我在表格中有以下数据我想了解以下详细信息对于给定的游戏和ID,找出2个州的日期(以... 查看详情

SQL CASE 滚动日期差异

】SQLCASE滚动日期差异【英文标题】:SQLCASErollingdatedifference【发布时间】:2022-01-2011:55:14【问题描述】:如何在案例声明中提取年度滚动日期差异?或者,如果有更好的方法可行。当NXT周年日期月份在当前月份之后时,我需要将... 查看详情

查找两个日期之间的差异 Oracle SQL

】查找两个日期之间的差异OracleSQL【英文标题】:FinddifferencebetweentwodatesOracleSQL【发布时间】:2014-11-2814:19:52【问题描述】:我想知道如何获得两个日期时间之间的差异。我面临的问题是我必须将表格中的日期转换为可用日期。... 查看详情

PySpark SQL 中的日期之间的差异

】PySparkSQL中的日期之间的差异【英文标题】:DifferencebetweendatesinPySparkSQL【发布时间】:2018-11-1523:22:09【问题描述】:所以我需要计算两个日期之间的差异。我知道PySparkSQL确实支持DATEDIFF,但只支持一天。我做了一个计算差异的... 查看详情

sql找出两个日期之间的差异(代码片段)

查看详情

Oracle - sql - 日期差异 - 按列值

】Oracle-sql-日期差异-按列值【英文标题】:Oracle-sql-datedifference-aspercolumnvalue【发布时间】:2021-09-0421:19:19【问题描述】:我有下表,IDstart_dateStage5607-JUN-2103.13.44.4490000Initial_Stage7708-JUN-2106.28.14.0000000Initial_Stage7708-JUN-2107.28. 查看详情

计算特定年份的sql中的日期差异

】计算特定年份的sql中的日期差异【英文标题】:Calculatedatedifferenceinsqlforspecificyear【发布时间】:2015-07-2311:11:44【问题描述】:我有两个日期,比如start_date是20141215和end_date=20150115。我想使用SQLDATEDIFF只计算我将在查询中指定的2... 查看详情

使用sql根据日期差异选择记录

】使用sql根据日期差异选择记录【英文标题】:usingsqltoselectrecordsbasedondatedifferences【发布时间】:2013-05-0909:08:01【问题描述】:我管理一个系统,记录其库存商品价格和数量的变化。表格如下所示:STOCK(ID,DATE,QUANTITY,PRICE)(1,2013.01... 查看详情

在 SQL 中选择日期之间的平均差异

】在SQL中选择日期之间的平均差异【英文标题】:SelectaveragedifferencebetweendatesinSQL【发布时间】:2020-12-0204:33:08【问题描述】:我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段。我想从带有WHERE条件的事务... 查看详情

SQL Server 2005 登录密码更改差异

】SQLServer2005登录密码更改差异【英文标题】:SQLServer2005loginpasswordchangevariance【发布时间】:2014-02-0416:46:12【问题描述】:我们有一个在WindowsServer2003机器上运行的SQLServer2005数据库。该数据库现在需要强制其登录的密码更改差异... 查看详情

SQL 数据提取和日期差异

】SQL数据提取和日期差异【英文标题】:SQLDataExtractionandDateDifference【发布时间】:2018-07-0711:42:21【问题描述】:我的SQLServer表中有列数据:Swipe_Date_Time,Emp_num,Emp_name,Direction方向代表“进入”或“退出”。样本数据:预期输出:... 查看详情

在 SQL 中计算不同日期之间 sum() 的差异

】在SQL中计算不同日期之间sum()的差异【英文标题】:Calculatingthedifferenceinsum()betweendifferentdaysinSQL【发布时间】:2018-10-0314:56:32【问题描述】:我有一个查询,我在其中对日期=昨天(current_date-1)的列中的值求和:SELECTsum(col)assumColfr... 查看详情