欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

DateDiff函数实现日期计划加减

程序员文章站 2022-05-30 12:05:39
...

在我们还不知道sql中有DateDiff()函数之前我们要计算日期时间差值我会直接把它放到像php,asp,asp.net程序中进行计算了,现在我来分享利用DateDiff函数实现日期计划加减。

语法

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数:

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

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

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

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

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


巧用datediff获得时间戳

代码如下 复制代码

1> SELECT datediff(ss,'1970-01-01',GETDATE()) as time
2> go
time
1361988498
(1 row affected)
1>

datediff取差函数

ss 表示以秒为单位

1970-01-01 时间戳都从这个日期计算起

getdate() 当前时间

既读取当前时间与1970-01-01之间的秒数就是当前时间戳

当然,如果你也可以通过getdate()读取当前日期以后也可以使用其它语言转换成时间戳也可以,比如js,php。

当然,datediff函数很强大,比如要算出两个日期之间的月数

代码如下 复制代码

1> SELECT datediff(mm,'2012-01-01',GETDATE()) as time
2> go time13 (1 row affected)

下面的语句返回 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'' )

相关标签: DateDiff()函数