SQL Server數(shù)據(jù)庫DATEDIFF的參數(shù)介紹及使用示例
在SQL Server數(shù)據(jù)庫操作中,使用DATEDIFF來計算時間差,有關(guān)datediff的相應(yīng)信息,見如下:
DATEDIFF (datepart ,startdate ,enddate )
datepart是指定所跨邊界類型的startdate和enddate 的一部分。下表列出了所有有效的datepart 參數(shù)。用戶定義的變量等效項是無效的。
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 |
startdate是一個表達式,可以解析為 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值。date 可以是表達式、列表達式、用戶定義的變量或字符串文字。從enddate 減去startdate。
1.返回相差兩個季度時間得記錄
代碼如下:需要時,可以將時間字段改為數(shù)據(jù)庫中相應(yīng)的字段
- declare @startDateTime datetime
- declare @endDateTime datetime
- set @startDateTime='2011-01-01'
- set @endDateTime='2011-07-10'
- select DATEDIFF(QQ,@startDateTime,@endDateTime)
2.搜索最近3個月的訂單。
代碼如下:
- declare @startDateTime datetime
- declare @endDateTime datetime
- set @startDateTime='2011-05-01'
- set @endDateTime=GETDATE()
- select DATEDIFF(m,@startDateTime,@endDateTime)
3.返回***單訂單時間到最近的一單訂單時間的天數(shù)差。
- select DATEDIFF(DAY,(select MIN(insDT) from OP_Order),(select MAX(insDT) from OP_Order))
4.使用GETDATE()函數(shù)來獲得當前時間
若使用GetDate()+1,結(jié)果是在現(xiàn)在的時間上多添加一天。
如:
- GetDate(): 2011-08-13 13:53:09.243
- GetDate()+1 : 2011-08-14 13:53:09.243
如上,直接在時間的日上加1.
關(guān)于SQL Server數(shù)據(jù)庫DATEDIFF的知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>






