asp和sql結合處理時間小解
在開發資料庫應用中,經常會遇到處理時間的問題,如查詢指定時間的記錄等。下面就這些常見的問題,結合自己的一些經驗,和大家**一下這類問題。
首先介紹一下,sql server裡處理時間的幾個主要函式的用法:
getdate()函式:取得系統當前的日期和時間。返回值為datetime型別的。
用法:getdate()
例子:
select getdate() as dte,dateadd(day,-1,getdate()) as nowdat
輸出結果:
dte nowdat
1999-11-21 19:13:10.083 1999-11-20 19:13:10.083
(1 row(s) affected)
datepart()函式:以整數的形式返回時間的指定部分。
用法:datepart(datepart,date)
引數說明:datepart時要返回的時間的部分,常用取值year、month、day、hour、minute。
date是所指定的時間。
例子:
select datepart(month, getdate()) as 'month number'
輸出結果:
month number
11(1 row(s) affected)
dateadd()函式:通過給指定的時間的指定部分加上乙個整數值以返回乙個新時間值。
用法:dateadd(datepart,number,date)
引數說明:datepart(同上)
date(同上)
number要增加的值,整型,可正可負,正值返回date之後的時間值,負值返回date
之前的時間值
例子:
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()函式:返回兩個時間以指定時間部分來計算的差值。返回整數值。如1991-6-12和1991-6-21之間以天
來算相差9天,1998-6-12和1999-6-23按年算相差1年,1999-12-1和1999-3-12按月算相差9個月
用法:datediff(darepart,date1,date2)
引數說明:datepart(同上)
date1、date2(同上date)
例子:
select datediff(month,'1991-6-12','1992-6-21') as a
輸出:
a 12
(1 row(s) affected)
sql時間處理 使用函式DATEPART和STR
最近在專案中碰到乙個功能,需要獲取當前的時間部分作為引數的一部分拼接起來和資料庫中的進行比較,而資料庫中的日期部分是固定不變的 2000 01 01 語句如下 view code 1 select from printitinerary where airterminalid 1and airpor...
sql中charindex和cast結合使用
1.charindex函式常常用來在一段字元中搜尋字元或者字串。語法 charindex expression1 expression2 start location 返回的值是 返回字串中指定表示式 expression1 的起始位置。那些什麼定義啊,什麼的我就不講了,直接用列子來講,這樣大家理解...
SQL時間日期處理
1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff...