datediff函数用法!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datediff函数用法!相关的知识,希望对你有一定的参考价值。

请举例说明下datediff的用法,或是有什么好的教程推荐

1、datediff函数语法用法:

表达式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])

允许数据类型: timeinterval 表示相隔时间的类型,代码为:年份 yy、yyyy 季度 qq、q;月份 mm、m;每年的某一日 dy、y;日期 dd、d;星期 wk、ww;工作日 dw;小时 hh;分钟 mi、n;秒 ss、s;毫秒 ms。

2、datediff函数用法示例:

<%

fromDate = #9/9/00#

toDate = #1/1/2000#

response.write "There are " & _

DateDiff("d",fromDate,toDate) & _

" days to millenium from 9/9/00."

%>

返回结果: 从9/9/00 到2000年还有 150 天。

扩展资料:

datediff函数应用范围:

1,该函数在mysql中可用

2,该函数在sybase中可用

3,该函数在在oracle中不可用!

------------------------------------------------------------

select datediff(''d'','2003-01-01','2003-01-02')返回的是1;

select datediff(''d'','2003-01-02','2003-01-01')返回的是-1;

可见datediff返回的是date2和date1之间在给定参数timeinterval下的差值。

注:

在sql2000下测试 "h"时是错误的,应该是 hh,例如:

select datediff(hh,'2003-01-01','2003-01-02') 返回的是24。

参考资料:百度百科-DateDiff()

参考技术A

用法:DATEDIFF() 函数返回两个日期之间的时间,例如:

1、使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate

结果:

2、使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate

结果:

扩展资料:

语法:DateDiff(interval, date1, date2 [,firstdayofweek][, firstweekofyear]])

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

interval 必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。 

date1, date2 必选。日期表达式。用于计算的两个日期。 

firstdayofweek 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。 

firstweekofyear 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。

参考技术B DateDiff DateDiff: SQL server函数
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
设置
interval 参数的设定值如下:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
firstdayofweek 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
常数 值 描述
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 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。
如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。
如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。
示例
此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。
USE pubsGOSELECT DATEDIFF(day, pubdate, getdate()) AS no_of_daysFROM titlesGO
DATEDIFF函数在Access和MSSQL中的使用区别
ACCESS中用法:DATEDIFF('day', pubdate, Now())
MSSQL中用法:DATEDIFF(day, pubdate, getdate())

参考资料:http://baike.baidu.com/view/327446.html?wtp=tt

本回答被提问者采纳
参考技术C 我在
sql2000
上测试了一下,
select
DateDiff("d",getdate(),'2009-03-01')
可以得出正确的结果,
估计是
因为你在
传参数时少了单引号!
参考技术D 以下两种形式都是正确的,说明最后两个参数带有默认值。
datediff
(interval,date1,date2
,firstdayofweek,
firstweekofyear);
datediff
(interval,date1,date2
,firstdayofweek);

以上是关于datediff函数用法!的主要内容,如果未能解决你的问题,请参考以下文章

定义和用法 DATEDIFF() 函数返回两个日期之间的天数

SQL SERVER DATEDIFF()函数用法

SqlServer之datediff用法

MYSQL 时间日期函数的用法

sql中日期函数的用法

SQL中计算时间差datediff()