函數
描述
GETDATE()
傳回目前日期和時間
CONVERT()
用不同的格式顯示日期/時間
DATEDIFF()
傳回兩個日期之間的時間
DATEPART()
傳回日期/時間的單獨部分
DATEADD()
在日期中添加或減去指定的時間間隔
該函數用來計算兩個日期之間的天(年、月…)數,enddate 減去 startdate,如果 startdate 晚于 enddate,則傳回負值。其中,startdate表示起始時間;enddate表示結束時間;datepart表示時間間隔的計算機關,如年、月、日等。datepart 參數幾種常用的值如下表所示:
Datepart表:
Depart值
含義
yy, yyyy
年
qq, q
季度
mm, m
月
dy, y
一年中第幾天
dd, d
日
wk, ww
一年中第幾周
dw, w
一周中第幾天,從周日開始算
hh
小時
mi, n
分鐘
ss, s
秒
ms
毫秒
mcs
微妙
ns
納秒
執行個體:查找最近一周内注冊的使用者
SELECT * FROM UserInfo
where DATEDIFF (DAY ,regtime,GETDATE ()) BETWEEN 0 AND 7
該 函數用于傳回日期/時間的單獨部分,比如年、月、日、小時、分鐘等等。其中date 參數是合法的日期表達式;datepart 參數見上表。
執行個體:檢視cathy注冊的年、月、日
SELECT DATEPART (YYYY ,regtime )as year,DATEPART (MM ,regtime ) as month,DATEPART (DD,regtime ) as date
FROM UserInfo
WHERE sUserName ='CATHY'
該 函數可以計算添加或減去相應時間間隔的時間。其中date 參數是合法的日期表達式。number 是您希望添加的間隔數,如果您指定一個帶小數的值,則将小數截去且不進行舍入,對于未來的時間,此數是正數,對于過去的時間,此數是負數。datePart參數見DateDiff中的清單。
執行個體:
DECLARE @A DATE
SET @A = GETDATE()
SELECT DATEADD(DAY,3,@A)
SELECT DATEADD(DAY,9,@A)
6.關于季度查詢的執行個體:
<a></a>
declare @date datetime
set @date=getdate()
--季度初,計算給定日期所在季度的第一天
select dateadd(quarter,datediff(quarter,0,@date),0) as '目前季度的第一天'
--季度末,計算給定日期所在季度的最後一天
select dateadd(quarter,1+datediff(quarter,0,@date),-1) as '目前季度的最後一天'
--上個季度初
select dateadd(quarter,datediff(quarter,0,@date)-1,0) as '目前季度的上個季度初'
--上個季度末
select dateadd(quarter,datediff(quarter,0,@date),-1) as '目前季度的上個季度末'
--下個季度初
select dateadd(quarter,1+datediff(quarter,0,@date),0) as '目前季度的下個季度初'
--下個季度末
select dateadd(quarter,2+datediff(quarter,0,@date),-1) as '目前季度的下個季度末'
本文轉自 陳敬(Cathy) 部落格園部落格,原文連結:http://www.cnblogs.com/janes/archive/2011/04/12/2013898.html,如需轉載請自行聯系原作者