SQLServer系统函数(3)_日期与时间函数

以下完全抄袭:http://www.cnblogs.com/atree/archive/2011/03/10/SQL_Server_2005_dateadd_datediff.html

DATEADD:返回给指定日期加上一个时间间隔后的新的日期值

数字:用于与指定的日期部分相加的值。如果指定了非整数值,则将舍弃该值的小数部分,舍弃时不遵循四舍五入
日期:指定的原日期
在此函数中 dw,dy,dd效果一样都表示天
--dateadd(日期部分,数字,日期)
select dateadd(year,45,'1990-12-11')
--2035-12-11 00:00:00.000
select dateadd(month,45,'1990-12-11')
--1994-09-11 00:00:00.000
select dateadd(mm,45,'1990-12-11')
--1994-09-11 00:00:00.000
select dateadd(qq,12,'1990-12-11')
--1993-12-11 00:00:00.000
select dateadd(hh,12,'1990-12-11')
--1990-12-11 12:00:00.000
select dateadd(yy,-12,'1990-12-11')
--1978-12-11 00:00:00.000

DATEDIFF:返回两个指定日期的指定日期部分的差的整数值

在计算时由结束日期减去开始日期
在此函数中 dw,dy,dd效果一样都表示天
--datediff(日期部分,开始日期,结束日期)
select datediff(yy,'1990-12-11','2008-9-10')
--18(2008-1990)
select datediff(mm,'2007-12-11','2008-9-10')
--9((2008-9)-(2007-12))

DATENAME:返回表示指定日期的指定日期部分的字符串

dw表示一星期中星期几,wk表示一年中的第几个星期,dy表示一年中的第几天

--datename(日期部分,日期)
select datename(mm,'2007-12-11')
--12
select datename(dw,'2007-12-11')
--星期二
select datename(dd, '2007-12-11')
--11

DATEPART:返回表示指定日期的指定日期部分的整数

wk表示一年中的第几个星期
dy表示一年中的第几天
dw表示一星期中星期几,返回整数默认1为星期天
--datepart(日期部分,日期)
select datepart(mm,'2007-12-11')
--12
select datepart(dw,'2007-12-11')
--3(星期二)
select datepart(dd, '2007-12-11')
--11

DAY:返回一个整数,表示指定日期的天的部分

等价于datepart(dd, 日期)
--day(日期)
select day('2007-12-11')
--11

GETDATE:返回当前系统日期和时间

--getdate()
select getdate()
--2014-02-25 16:30:16.870

GETUTCDATE:返回表示当前的 UTC(世界标准时间)时间。即格林尼治时间(GMT)

--getutcdate()
select getutcdate()
--2014-02-25 08:31:11.483

MONTH:返回一个整数,表示指定日期的月的部分

等价于datepart(mm, 日期)
--month(日期)
select month('2014-02-25 08:31:11.483')
--2

YEAR:返回一个整数,表示指定日期的年的部分

等价于datepart(yy, 日期)
--year(日期)
select year('2014-02-25 08:31:11.483')
--2014

Microsoft SQL Server 2005 可识别的日期部分及其缩写:

日期部分

含义 

缩写

year

yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

天(请看函数中的说明)

dy, y

day

天(请看函数中的说明)

dd, d

week

星期

wk, ww

weekday

天(请看函数中的说明)

dw, w

hour

小时

hh

minute

分钟

mi, n

second

ss, s

millisecond

毫秒

ms





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值