SQL 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‘ )

时间: 2024-10-13 11:19:27

SQL DATEDIFF(时间差)的相关文章

sql计算时间差执行存储过程

<pre name="code" class="sql">-- datediff( day, '比较时间', GETDATE() ) DECLARE @ctime INT SELECT @ctime = datediff( day, (SELECT MAX(InDate) FROM OrderSettlement), GETDATE() ) IF @ctime > 0 BEGIN -- 时差大于1天 END 版权声明:本文为博主原创文章,未经博主允

DB2数据库用SQL求时间差

一.求天数之差: ( (MIDNIGHT_SECONDS (h.DEAL_DATE) - MIDNIGHT_SECONDS (a.ALLOT_DATE))  / 60*24) 如果需要修改为小时只差,去掉分母的24即可.h.DEAL_DATE结束时间,a.ALLOT_DATE开始时间. 二.SQL计算天数: select days(end_date) - days(start_date) from table;

sql dateDiff函数

当月的数据select * from MOPICK where dateDiff(m,getdate(),START_DATE)=0

SQL计算时间差并排除周末

CREATE FUNCTION DI_FN_GET_WorkDay (@begin DATETIME , @end DATETIME ) RETURNS int BEGIN DECLARE @i INT , @j INT SET @i = 0 SET @j = 0 IF @end > @begin BEGIN WHILE DATEDIFF(d, DATEADD(d, @i, @begin), @end) <> 0 BEGIN IF DATEPART(weekday, DATEADD(d,

Oracle sql 计算时间差表达式

--取第几天的数据. select * from table where trunc(sysdate)-trunc(cr)=1;  select * from table where trunc(sysdate)-trunc(cr)=2;  select * from table where trunc(sysdate)-trunc(cr)=8;  --获取两时间的相差豪秒数 select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh2

数据库创建两个表格及模糊查询,函数

--创建表格 create table xinxi ( code int not null, name varchar(50) not null, birth varchar(50) not null, sex char(10) not null, score decimal(18,2) not null, banji varchar(20) not null, ) --创建一班数据 insert into xinxi values(101,'张三','1990年3月2日','男',86,'一班

【转】oracle 体系结构

前几天面试的时候面试官才问过我Oracle的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存着,将来可能会用到. ================================================================================= 在本文里你可以了解以下内容 1. ORACLE 实例——包括内存结构与后台进程 2. ORACLE 数据库——物理

转:oracle 体系结构

前几天面试的时候面试官才问过我ORACLE的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存着,将来可能会用到. ================================================================================= 在本文里你可以了解以下内容 1. ORACLE 实例——包括内存结构与后台进程 2. ORACLE 数据库——物理

SQL Server中 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-express