DATEDIFF (SQL Server Compact)
傳回兩個指定日期之間所跨過的日期和時間界限數目。
語法
DATEDIFF ( datepart , startdate , enddate )
引數
datepart
參數,指定針對日期的哪個部分計算差異。如需詳細資訊,請參閱此主題稍後的「備註」一節。startdate
計算的開始日期。startdate 引數是以日期格式傳回 datetime 值或 Unicode 字元字串的運算式。如果您只指定年份的最後二位數,小於或等於年份二位數截止設定選項值的最後二位數將與截止年份屬於同一個世紀。大於此選項值的最後二位數則屬於截止年份之前一個世紀。例如,假設二位數年份截止是 2049 (預設值),則 '49' 就會被解譯為 2049,而 '50' 則會被解譯為 1950。為了避免混淆,請使用四位數的年份。
如需有關如何指定日期的詳細資訊,請參閱<資料類型>中的 datetime。
enddate
計算的結束日期。enddate 引數是以日期格式傳回 datetime 值或 Unicode 字元字串的運算式。
傳回值
int
備註
下表列出 SQL Server Compact 可以識別的 datepart 選項及縮寫。
日期部分 |
縮寫 |
---|---|
年 |
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