DateDiff函数实现日期计划加减

DateDiff函数实现日期计划加减,第1张

在我们还不知道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'' )

文章来源:https://www.php.cn/faq/149896.html

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复