SQL DATEDIFF() 函数用来返回2个时间的差。这个函数在SQL Server和MySQL中都有,但语法上有不同。
SQL CASE 语法MySQL:
DATEDIFF(Date1, Date2)
Date1 和 Date2 可以是任何有效的日期/时间表达式,但只计算日期部分,返回天数的差别,而时间部分会被忽略。
SQL Server:
DATEDIFF(datepart, Date1, Date2)
Date1 和 Date2 可以是任何有效的日期/时间表达式,datepart 可以是以下的任何一个:
datepart | 缩写 |
---|---|
year | yy, yyyy |
quarter | QQ, q |
month | mm, m |
dayofyear | dy, y |
day | dd, d |
week | wk, ww |
hour | hh |
minute | mi, n |
second | ss, s |
millisecond | ms |
microsecond | mcs |
nanosecond | ns |
TZoffset | tz |
ISO_WEEK | sowk, isoww |
注意: 在 MySQL 中结果 = Date1 – Date2, 而在 SQL Server 中结果 = Date2 – Date1.
SQL DATEDIFF 范例MySQL 范例:
SELECT DATEDIFF('2011-09-05 13:00:00','2011-09-08')
结果是 -3
SELECT DATEDIFF('2011-10-02','2011-09-08')
结果是: 24
SELECT DATEDIFF('2011-09-20 8:12:00','2011-09-20 10:23:00')
结果是: 0
SQL Server 范例:
SELECT DATEDIFF(yyyy, '2010-09-01', '2011-07-01')
结果是: 1
SELECT DATEDIFF(hh, '2011-09-01', '2011-07-01')
结果是: -1488
SELECT DATEDIFF(hh, '2011-09-20 8:12:00', '2011-09-20 10:23:00')
结果是: 2
This entry was posted in SQL 函数 and tagged Date Function, MySQL, SQL Server on 2011年09月21日 星期三 by admin.
新闻热点
疑难解答