DateDiff 数据库时间差函数

描述

返回两个日期之间的时间间隔。

语法

DateDiff(interval, date1date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 函数的语法有以下参数:

参数 描述
interval 必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
date1, date2 必选。日期表达式。用于计算的两个日期。
firstdayofweek 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
设置

interval 参数可以有以下值:

设置 描述
yyyy
q 季度
m
y 一年的日数
d
w 一周的日数
ww
h 小时
m 分钟
s

firstdayofweek 参数可以有以下值:

常数 描述
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 参数可以有以下值:

常数 描述
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。
说明

DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。

要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1

如果 date1 晚于 date2,则 DateDiff 函数返回负数。

firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。

如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。

在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表示相差一个年份。

时间: 2025-01-17 05:55:09

DateDiff 数据库时间差函数的相关文章

SQL时间差函数timediff,timestampdiff,datediff

时间差函数: timestampdiff 语法:timestampdiff(interval, datetime1,datetime2) 结果:返回(时间2-时间1)的时间差,结果单位由interval参数给出. frac_second 毫秒(低版本不支持,用second,再除于1000) second 秒 minute 分钟 hour 小时 day 天 week 周 month 月 quarter 季度 year 年 注意:MySQL 5.6之后才支持毫秒的记录和计算,如果是之前的版本,最好是

Sybase数据库常用函数

Sybase数据库常用函数 一.字符串函数 1,ISNULL(EXP1,EXP2,EXP3,...) :返回第一个非空值,用法与COALESCE(exp1,exp2[,exp3...])相同: 2,TRIM(exp) :去除两边空格: 3,DATEFORMAT(date_exp,date_format) :日期型转字符型: 4,STRING(exp):转为字符型: 5,SUBSTRING(exp,int-exp1,[int-exp2]):截取exp从int-exp1开始,截取int-exp2个字

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,

Sqlite3 的确很好用.小巧.速度快.最近研究它,有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记. 导入SQLLite library并引入头文件. libsqlite3.dylib本身是个链接,在这里它指向libsqlite3.0.dylib.也就是说在这里你添加libsqlite3.dylib和添加libsqlite3.0.dylib其实是添加了同一个文件,没有区别,那为什么要添加libsqlite3.0.dylib呢?原因在于libsqlite3.dylib是旧版的sq

SQL Server数据库ROW_NUMBER()函数使用

下面以几个实例来说明ROW_NUMBER()函数的使用. 实例如下: 1.使用row_number()函数进行编号,如 select email,customerID, ROW_NUMBER() over(order by psd) as rows from QT_Customer 原理:先按psd进行排序,排序完后,给每条数据进行编号. 2.在订单中按价格的升序进行排序,并给每条记录进行排序代码如下: select DID,customerID,totalPrice,ROW_NUMBER() 

第二百八十五节,MySQL数据库-MySQL函数

MySQL数据库-MySQL函数 1.MySQL内置函数 SELECT执行函数,后面跟要执行的函数 CHAR_LENGTH(str)函数:返回字符串的字符长度 -- CHAR_LENGTH(str)函数:返回字符串的字符长度 SELECT CHAR_LENGTH('欢迎光临'); LENGTH(str)函数:返回字符串的字节长度 -- LENGTH(str)函数:返回字符串的字节长度 SELECT LENGTH('欢迎光临'); CONCAT(str1,str2,...)函数:拼接字符串 --

数据库对象——函数、存储过程、索引、同义词

数据库对象--函数 1.函数(function)分为两种,一种是oracle数据库自身的函数,另一种是用户自己写的函数. 2.使用函数把小写字幕变成大写字幕. select upper('a i love you') from dual; 3.创建一个通过员工的ID号获取其薪水的函数 create or replace function get_empsal(emp_no in number) return number is emp_sal number(7,2); begin select

Oracle数据库实用函数

实用函数 DECODE 语法如下: DECODE(value, if1, then1, if2,then2,if3,then3, . . . else )  Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果.当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1:如果value等于if2,Decode函数结果是then2:等等.事实上,可以给出多个if/then 配对.如果value结果不等于给出的任何配对时,Decode 结果就返回els

mysql计算时间差函数

MySql计算两个日期的时间差函数TIMESTAMPDIFF用法,只要用一句SQL语句就可以办到了. MySql计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)   说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD(