sqlserver日期函数

--dateadd(日期部分,数字,日期)
--返回给指定日期加上一个时间间隔后的新的日期值。
--数字:用于与指定的日期部分相加的值。如果指定了非整数值,
--则将舍弃该值的小数部分,舍弃时不遵循四舍五入。
--日期:指定的原日期
--在此函数中day,dw,dy,dd 效果一样都表示天
--mm,MONTH表示月份,year,yy表示年份,qq表示季
select DATEADD(year, 2, '2018-08-03')--2020-08-03 00:00:00.000
select DATEADD(yy, 2, '2018-08-03')--2020-08-03 00:00:00.000

select DATEADD(MONTH, 2, '2018-08-03')--2018-10-03 00:00:00.000
select DATEADD(mm, 2, '2018-08-03')--2018-10-03 00:00:00.000

select DATEADD(DAY, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(dw, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(dy, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(dd, 2, '2018-08-03')--2018-08-05 00:00:00.000

select DATEADD(hh, 2, '2018-08-03')--2018-08-03 02:00:00.000

select DATEADD(qq, 2, '2018-08-03')--2019-02-03 00:00:00.000

 

--datediff(日期部分,开始日期,结束日期)
--返回两个指定日期的指定日期部分的差的整数值。
--在计算时由结束日期减去开始日期
select datediff(yy,'2008-08-03','2018-08-03')--10
select datediff(year,'2008-08-03','2018-08-03')--10

select datediff(mm,'2008-08-03','2018-08-03')--120
select datediff(MONTH,'2008-08-03','2018-08-03')--120

select datediff(dd,'2008-08-03','2018-08-03')--3652
select datediff(dw,'2008-08-03','2018-08-03')--3652
select datediff(dy,'2008-08-03','2018-08-03')--3652
select datediff(day,'2008-08-03','2018-08-03')--3652

--使用datediff函数快速的计算岁数
select datediff(yy,'1994-10-20',GETDATE())--24
select datediff(mm,'1994-10-20',GETDATE())--286
select datediff(dd,'1994-10-20',GETDATE())--8688

 

--datename(日期部分,日期)
--返回表示指定日期的指定日期部分的字符串。
--dw 表示一星期中星期几,wk 表示一年中的第几个星期
--dy 表示一年中的第几天
select datename(YEAR,'2018-08-03')--2018
select datename(yy,'2018-08-03')--2018

select datename(mm,'2018-08-03')--08
select datename(MONTH,'2018-08-03')--08

select datename(dd,'2018-08-03')--3
select datename(dw,'2018-08-03')--星期五
select datename(dy,'2018-08-03')--215,一年第215天
select datename(day,'2018-08-03')--3

 

--datepart(日期部分,日期)
--返回表示指定日期的指定日期部分的整数。
--wk 表示一年中的第几个星期
--dy 表示一年中的第几天,
--dw 表示一星期中星期几,返回整数默认 1 为星期天
select DATEPART(YEAR, '2018-08-03')--2018
select DATEPART(yy, '2018-08-03')--2018

select DATEPART(mm, '2018-08-03')--8
select DATEPART(MONTH, '2018-08-03')--8

select DATEPART(dd, '2018-08-03')--3
select DATEPART(dw, '2018-08-03')--6,一个星期的第6天
select DATEPART(dy, '2018-08-03')--215,一年第215天
select DATEPART(DAY, '2018-08-03')--3
select DATEPART(wk, '2018-08-03')--31,一年中的第31个星期

 

--getdate()无参数
select getdate();--2018-08-03 14:50:52.560

 

--day(日期)<=>datepart(dd,日期)
--返回一个整数,表示指定日期的天的部分。
select day('2018-08-03')--3

 

--month(日期)<=>datepart(mm,日期)
--返回一个整数,表示指定日期的月的部分。
select MONTH('2018-08-03')--8

 

--year(日期)<=>datepart(yy,日期)
--返回一个整数,表示指定日期的年的部分。
select year('2018-08-03')--2018

 

--getutcdate()无参数
--返回表示当前的UTC(世界标准时间)时间。即格林尼治时间
--(GMT)
select GETUTCDATE();--2018-08-03 07:08:21.577

 

注:数据库的时间日期常见简写

含义

缩写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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值