ASP和SQL結合處理時間小解

來源:互聯網
上載者:User
在開發資料庫應用中,經常會遇到處理時間的問題,如查詢指定時間的記錄等。下面就這些常見的問題,結合自己的一些經驗,和大家探討一下這類問題。
  首先介紹一下,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)



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。