首先介绍一下,
SQL Server里处理时间的几个主要函数的用法:
51Testing软件测试网{to$|.c Tm
Jw;Sj&X0getdate()函数:取得系统当前的日期和时间。返回值为datetime类型的。
h$A\fq4iu0用法:getdate()
n
kEc
j)u0例子:
JvFKqq-] L0select getdate() as dte,dateadd(day,-1,getdate()) as nowdat
:Y\&H]7N4ZCQ7[0输出结果:
UO-C6~7|$K {0dte nowdat
3T:H r
hh(I:v0--------------------------- ---------------------------
&]e swu:j_Yu01999-11-21 19:13:10.083 1999-11-20 19:13:10.083
*Z(@-\-T7Lh051Testing软件测试网8qV\ sP_/h|
(1 row(s) affected)51Testing软件测试网`W"_9A[^
\
v[ @ mH[PJ0datepart()函数:以整数的形式返回时间的指定部分。
XLFD(Q(N!J6P0用法:datepart(datepart,date)
7o!U:q!XzC{3iy0i?0参数说明:datepart时要返回的时间的部分,常用取值year、month、day、hour、minute。51Testing软件测试网DQ~&~~[
date是所指定的时间。51Testing软件测试网bb)oj_-H1Sn
例子:51Testing软件测试网(PK8lDZh3f8^
SELECT DATEPART(month, GETDATE()) AS Month Number51Testing软件测试网o1@Mg!o(p
}(h
输出结果:
jd6oT,E l7T^'qio0Month Number
A%Ap~A
T0------------51Testing软件测试网"fg?{:mQ2if'f
1151Testing软件测试网_"Jf)N7TC1fj;{"s%z
G._ yw:o0(1 row(s) affected)51Testing软件测试网ECgP#Gu
51Testing软件测试网 h.M,H&a#w4R5C2|}dateadd()函数:通过给指定的时间的指定部分加上一个整数值以返回一个新时间值。51Testing软件测试网s^9E5w!iFy
用法:dateadd(datepart,number,date)51Testing软件测试网&\gY&Y|vqf C S
参数说明:datepart(同上)
1{4h%pf6n!yYb0date(同上)
5n-oi|:}Ij0number要增加的值,整型,可正可负,正值返回date之后的时间值,负值返回date51Testing软件测试网$O,Ea | aqMx
之前的时间值51Testing软件测试网6qA%Lp n9s6K'k
例子:51Testing软件测试网7r$M+_mKI)K
select getdate() as today51Testing软件测试网_/Q.A!e8r
select dateadd(day,-1,getdate())
.G*N1sq%~1H3j.Sz0select dateadd(day,1,getdate())51Testing软件测试网9[J^G[dU
输出:51Testing软件测试网p0CS}N2_
today
w\5S8LHDA0---------------------------
g2S"~*n
C:Q01999-11-21 19:42:41.410
;n(d8}i L"K6w051Testing软件测试网3Jw8c-\-[|n_(1 row(s) affected)
qM#W,l#e"T O.a#o051Testing软件测试网n5r0u4q8m-y%zveyesterday51Testing软件测试网.PB_7u9|
---------------------------
JB{j,m01999-11-20 19:42:41.410
@c1|JnpE&`00ZNc+V)j8QAJ|9[0(1 row(s) affected)51Testing软件测试网NV*OL8DC
51Testing软件测试网Pa9~NP4Ftomorrow51Testing软件测试网aE(q6{g
---------------------------51Testing软件测试网2`^|T8b4g s
Q
1999-11-22 19:42:41.41051Testing软件测试网kj6Yb(n[8o@rK9e
51Testing软件测试网's/zP7_)VF4~(1 row(s) affected)
r `.l
^1S.s0#V:D l#\:Q7Cws0datediff()函数:返回两个时间以指定时间部分来计算的差值。返回整数值。如1991-6-12和1991-6-21之间以天51Testing软件测试网&k
Vt9`,x
来算相差9天,1998-6-12和1999-6-23按年算相差1年,1999-12-1和1999-3-12按月算相差9个月
9g E
V3EM)Sm:oY0用法:datediff(darepart,date1,date2)51Testing软件测试网Z+D7crI(V
参数说明:datepart(同上)51Testing软件测试网puR]4UAt}
date1、date2(同上date)
L6\~k0O
A(GZ0例子:51Testing软件测试网E8X+Q'Z5\M-g#C
elect datediff(month,1991-6-12,1992-6-21) as a51Testing软件测试网9[O7{4w
hTW_1n
输出:
-vN"H7uj*d6k~;Q0a51Testing软件测试网:dHZ J%q\
-----------
vxc_]012
"Oe-@k'UpF0,ws
d0XL;[?0(1 row(s) affected)
#\X+ol*FA+N5j0