關(guān)于ASP和SQLServer時(shí)間的解決方案
本文跟大家一起學(xué)習(xí)分享的是關(guān)于ASP和SQLServer時(shí)間的解決方案,在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用中,經(jīng)常會(huì)遇到處理時(shí)間的問(wèn)題,如查詢(xún)指定時(shí)間的記錄等。下面就這些常見(jiàn)的問(wèn)題,跟大家詳細(xì)介紹一下這類(lèi)問(wèn)題的處理方法。
首先介紹一下,SQL Server里處理時(shí)間的幾個(gè)主要函數(shù)的用法:
getdate()函數(shù):取得系統(tǒng)當(dāng)前的日期和時(shí)間。返回值為datetime類(lèi)型的。
用法:getdate()
例子:
select getdate() as dte,dateadd(day,-1,getdate()) as nowdat
輸出結(jié)果:
dte nowdat
--------------------------- ---------------------------
1999-11-21 19:13:10.083 1999-11-20 19:13:10.083
(1 row(s) affected)
datepart()函數(shù):以整數(shù)的形式返回時(shí)間的指定部分。
用法:datepart(datepart,date)
參數(shù)說(shuō)明:datepart時(shí)要返回的時(shí)間的部分,常用取值year、month、day、hour、minute。
date是所指定的時(shí)間。
例子:
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
輸出結(jié)果:
Month Number
------------
11
(1 row(s) affected)
dateadd()函數(shù):通過(guò)給指定的時(shí)間的指定部分加上一個(gè)整數(shù)值以返回一個(gè)新時(shí)間值。
用法:dateadd(datepart,number,date)
參數(shù)說(shuō)明:datepart(同上)
date(同上)
number要增加的值,整型,可正可負(fù),正值返回date之后的時(shí)間值,負(fù)值返回date
之前的時(shí)間值
例子:
select getdate() as today
select dateadd(day,-1,getdate())
select dateadd(day,1,getdate())
輸出:
today
---------------------------
1999-11-21 19:42:41.410
(1 row(s) affected)
yesterday
---------------------------
1999-11-20 19:42:41.410
(1 row(s) affected)
tomorrow
---------------------------
1999-11-22 19:42:41.410
(1 row(s) affected)
datediff()函數(shù):返回兩個(gè)時(shí)間以指定時(shí)間部分來(lái)計(jì)算的差值。返回整數(shù)值。如1991-6-12和1991-6-21之間以天
來(lái)算相差9天,1998-6-12和1999-6-23按年算相差1年,1999-12-1和1999-3-12按月算相差9個(gè)月
用法:datediff(darepart,date1,date2)
參數(shù)說(shuō)明:datepart(同上)
date1、date2(同上date)
例子:
select datediff(month,'1991-6-12','1992-6-21') as a
輸出:
a
-----------
12
(1 row(s) affected)