`

sqlserver计算时间差DATEDIFF 函数

 
阅读更多

DATEDIFF 函数 [日期和时间]

功能
返回两个日期之间的间隔。

语法
DATEDIFF ( date-part, date-expression-1, date-expression-2 )

date-part :
year | quarter | month | week | day | hour | minute | second | millisecond

参数
date-part 指定要测量其间隔的日期部分。

有关日期部分的详细信息,请参见日期部分。

date-expression-1 某一间隔的起始日期。从 date-expression-2 中减去该值,返回两个参数之间 date-parts 的天数。

date-expression-2 某一间隔的结束日期。从该值中减去 Date-expression-1,返回两个参数之间 date-parts 的天数。

用法
此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2 - date1)的有符号的整数值。

当结果不是日期部分的偶数倍时,DATEDIFF 将被截断而不是被舍入。

当使用 day 作为日期部分时,DATEDIFF 返回两个指定的时间之间(包括第二个日期但不包括第一个日期)的午夜数。

当使用 month 作为日期部分时,DATEDIFF 返回两个日期之间(包括第二个日期但不包括第一个日期)出现的月的第一天的数目。

当使用 week 作为日期部分时,DATEDIFF 返回两个日期(包括第二个日期但不包括第一个日期)之间星期日的数目。

对于更小的时间单位存在溢出值:

milliseconds 24 天

seconds 68 年

minutes 4083 年

others 没有溢出限制

如果超出这些限制,此函数将返回溢出错误。

标准和兼容性
SQL/92 Transact-SQL 扩展。

SQL/99 Transact-SQL 扩展。

Sybase 与 Adaptive Server Enterprise 兼容。

下面示例的语句返回 1:

SELECT datediff( hour, '4:00AM', '5:50AM' )下面的语句返回 102:

SELECT datediff( month, '1987/05/02', '1995/11/15' )下面的语句返回 0:

SELECT datediff( day, '00:00', '23:59' )下面的语句返回 4:

SELECT datediff( day,'1999/07/19 00:00','1999/07/23 23:59' )下面的语句返回 0:

SELECT datediff( month, '1999/07/19', '1999/07/23' )下面的语句返回 1:

SELECT datediff( month, '1999/07/19', '1999/08/23' )

分享到:
评论

相关推荐

    SQL日期计算包括时间差

    SQL 日期计算包括时间差 SQL Server 中的日期计算是非常重要的,许多业务需求都需要计算日期之间的差值。本文将详细介绍如何使用 DATEADD 和 DATEDIFF 函数来计算日期,包括计算本月的第一天、本月的最后一天、本...

    SQL Server各种日期计算

    使用DATEDIFF函数计算当前日期与1900年1月1日之间周数的差,然后通过DATEADD函数将这个差值加回到1900年1月1日,就能得到本周的星期一。同样,这里的计算技巧是基于时间间隔。 3. 获取一年的第一天 类似地,计算...

    SQLServer日期函数集合.

    SQL Server 提供了一个函数来获取日期和时间差:`DATEDIFF()`。 * `DATEDIFF()`: 可以计算两个日期之间的时间差,例如计算两个日期之间的年、月、日、时、分、秒等时间差。 例如,使用 `DATEDIFF()` 函数可以计算...

    SQLServer2000常用函数大全(经典)

    在SQL Server 2000中,函数是执行特定计算或操作的重要工具,它们极大地丰富了SQL语言的功能,使得数据库管理、数据查询和...所以,这个“SQLServer2000常用函数大全(经典)”的资源对于学习和提升SQL技能是非常宝贵的。

    sqlserver2000日期函数处理大全

    此外,随着SQL Server版本的更新,新的日期和时间函数也不断出现,例如在SQL Server 2005及以后的版本中,新增了关于日期和时间的更多高级功能。尽管如此,SQL Server 2000的日期函数仍然是理解和掌握SQL日期处理的...

    sql server 时间函数

    SQL Server 是一款功能强大的数据库管理系统,它提供了丰富的日期与时间函数,用于处理各种与日期和时间相关的数据。本文将深入探讨这些函数,并提供详细的使用示例,帮助读者更好地理解和运用这些函数。 ### 1. ...

    SQLServer基本函数

    SQL Server 基本函数 SQL Server 是一种关系数据库管理系统,它提供了多种基本函数来处理字符串、数学运算、日期和系统相关操作。下面我们将对这些基本函数进行详细的介绍。 字符串函数 字符串函数是 SQL Server ...

    SQL Server和Oracle的常用函数对比.rar

    - SQL Server的`POWER()`函数计算幂,Oracle同样有此函数。 3. **日期时间函数**: - SQL Server的`GETDATE()`获取当前日期时间,Oracle对应的是`SYSDATE`。 - 对于日期操作,SQL Server有`DATEADD()`和`...

    SQL SERVER定时自动计算小时平均值.docx

    此查询的关键在于`DATEDIFF`函数,它用于确定`TAG_TIME`与当前时间(`GETDATE()`)之间的小时差。当小时差为1时,表明数据是在过去八小时内记录的。 为了实现定时自动运行这个查询,我们需要创建一个SQL Server作业...

    SQL SERVER 常用函数集

    根据提供的文件信息,我们可以归纳出一系列SQL Server中的常用函数,并对这些函数进行详细的解析与说明。这些函数大致可以分为几类:聚合函数、日期时间函数、数学函数以及字符串处理函数等。 ### 聚合函数 #### 1...

    SQL Server各种日期计算方法

    这里首先定义了一个变量`@Month`表示月份,然后使用`DATEDIFF`函数计算两个日期之间的天数差。 ### 总结 通过上述例子可以看出,`DATEADD` 和 `DATEDIFF` 函数非常灵活且强大,在SQL Server中可以用来完成复杂的...

    sql时间函数大全

    ### SQL时间函数详解 在开发数据库应用程序的过程中,处理时间数据是一项基本且重要的任务。SQL提供了丰富的内置函数来帮助开发者高效地处理与日期和时间相关的数据。本文将详细讲解SQL中的常用时间函数,并通过...

    oracle与sqlserver日期函数对比.pdf

    2. **计算日期差**: Oracle 的 `MONTHS_BETWEEN` 函数计算两个日期之间的月份数,而 SQL Server 则使用 `DATEDIFF` 函数,例如 `DATEDIFF(month, '2004-09-01', '2004-09-18')` 计算日期间隔。 3. **获取当前日期和...

    sqlserver日期相关知识.doc

    在 SQL Server 中,可以使用 DATEDIFF 函数来计算两个日期之间的距离。例如: ```sql -- 获取今天到未来 30 天的距离 SELECT DATEDIFF(day, GETDATE(), DATEADD(day, 30, GETDATE())); ``` 五、查询本日、月、本周的...

    SQL Server日期加减函数DATEDIFF与DATEADD用法分析

    DATEDIFF函数用于计算两个日期之间的差值,按照指定的日期部分(datepart)进行计算。例如,如果要计算两个日期之间的年份差异,可以使用如下的语法: ```sql SELECT DATEDIFF(YEAR, '2008-12-31', '2009-01-01'); ...

    SQL Server与Oracle常用函数对比

    - 两系统都包含`COUNT()`, `SUM()`, `AVG()`, `MAX()`, 和 `MIN()`等聚合函数,但SQL Server还提供`STDEV()`, `VAR()`用于计算标准差和方差,Oracle则使用`STDDEV()`和`VARIANCE()`。 5. **转换函数**: - SQL ...

    SQL server 和C#中的DateTime使用小结

    3. DATEDIFF(): DATEDIFF() 函数用于计算两个日期之间的时间差。例如: ```sql SELECT DATEDIFF(day, '2022-01-01', '2022-01-02') -- 计算两个日期之间的天数 ``` 4. DATEADD(): DATEADD() 函数用于将某个日期加上...

    SQL Server时间算法

    这里的关键在于先通过`DATEDIFF`函数计算出当前日期与基准日期(1900-01-01)之间的月份数差,然后利用`DATEADD`函数将这个月份数差加到基准日期上,从而得到当前月份的第一天。 另一种实现方式为: ```sql SELECT...

    SQL Server中系统内置函数的灵活运用.pdf

    例如,如果需要查询员工表中年龄超过30岁的员工,可以使用`DATEDIFF`和`GETDATE`函数计算年龄:`SELECT * FROM employees WHERE DATEDIFF(YEAR, BirthDate, GETDATE()) > 30`。 再比如,需要按月份统计销售订单,...

Global site tag (gtag.js) - Google Analytics