DATEDIFF (SQL Server Compact)

返回跨越两个指定日期的日期和时间边界的数目。

语法

DATEDIFF ( datepart , startdate , enddate ) 

参数

  • datepart
    指定对日期的哪一部分计算差异的参数。有关更多信息,请参见本主题后面的“备注”部分。

  • startdate
    计算中的开始日期。startdate 参数是以日期格式返回 datetime 值或 Unicode 字符串的表达式。

    如果只指定年份的后两位数字,则小于或等于两位截止年份配置选项值的后两位数字的值将与截止年份处于同一世纪中。比此选项值的后两位数字大的值先于截止年份的世纪。例如,如果两位数字的截止年份是 2049(默认值),则“49”将被解释为 2049,而“50”将被解释为 1950。为了避免产生歧义,请使用四位年份。

    有关如何指定日期的更多信息,请参见数据类型中的 datetime。

  • enddate
    计算中的结束日期。enddate 参数是以日期格式返回 datetime 值或 Unicode 字符串的表达式。

返回值

int

注释

下表列出了 datepart 选项以及 SQL Server Compact 所识别的缩写:

日期部分

缩写

年份

yy、yyyy

季度

qq、q

月份

mm、m

每年的某一日

dy、y

日期

dd、d

星期

wk、ww

工作日

dw

小时

hh

分钟

mi、n

ss、s

毫秒

ms

代码示例

下面的示例确定发送 Customer ID 为“VINET”的公司订单中货物所需的天数。

SELECT [Order ID], DATEDIFF(d, [Order Date], [Shipped Date]) AS [Shipping Time in Days] FROM Orders WHERE ([Customer ID] = 'VINET')

下面是结果集:

OrderID         Shipping Time in Days
-------------------------------------
10295           8
10737           7
10274           10
10248           12
10739           5