SQL SERVER中取两年前今天的日期

本文介绍了Sql Server中日期操作的方法,包括获取当前日期、格式化日期、获取年月日等具体元素,以及通过DATEADD函数实现日期的加减运算。此外,还详细列举了DATENAME和DATEPART函数的使用方式,并提供了CONVERT函数用于日期格式转换的例子。

SELECT DATEADD(year, -2, GETDATE())

SELECT DATEADD(yy, -2, GETDATE())

SELECT DATEADD(yyyy, -2, GETDATE())


SqlServer获取当前日期

  1. 获取当前日期

select GETDATE()

格式化:

select CONVERT(varchar,GETDATE(),120) --2017-05-12 16:33:10

  1. 获取当前年 --2017

select DATENAME(YYYY,GETDATE()) --2017

select DATENAME(YEAR,GETDATE()) --2017

select DATEPART(YYYY,GETDATE()) --2017

select DATEPART(YEAR,GETDATE()) --2017

select YEAR(GETDATE())–2017

3.获取当前月 --05或5

select DATENAME(MM,GETDATE()) --05
select DATENAME(MONTH,GETDATE()) --05

select DATEPART(MM,GETDATE()) --5
select DATEPART(MONTH,GETDATE()) --5

select MONTH(GETDATE()) --5

4.获取当前日期 --07或7

select DATENAME(DAY,GETDATE()-5) --7
select DATENAME(D,GETDATE()-5) --7
select DATENAME(DD,GETDATE()-5) --7

select DATEPART(D,GETDATE()-5) --7
select DATEPART(DD,GETDATE()-5) --7
select DATEPART(DAY,GETDATE()-5) --7

select DAY(GETDATE()-5)

  1. 获取当前年月 --201705

select CONVERT(varchar(6),GETDATE(),112) --201705

select CONVERT(varchar(7),GETDATE(),120) --2017-05

6.获取当前年月日 --20170512

select CONVERT(varchar(8),GETDATE(),112) --20170512

select CONVERT(varchar(10),GETDATE(),120) --2017-05-12

7.日期相关函数整理:

GETDATE() :获取当前时间,时间格式默认。

DATENAME:参数为两个,取值区间 interval 和时间 date

                     date 就是时间;

interval 包括 年,月,日,星期等

      e.g:

           YEAR 年;YYYY 年;YY 年;
           QUARTER 季度;QQ 季度 ;Q 季度;
           MONTH 月(05);MM 月(05);M 月(05);
           WEEKDAY 星期几;DW 星期几;W 星期几;
           WEEK 一年的第几周;WK 一年的第几周;WW 一年的第几周;ISOWK 一年的第几周;ISOWW 一年的第几周;ISO_WEEK 一年的第几周;
           DAY 天;DD 天;D 天;
           DAYOFYEAR 一年的第几天;DY 一年的第几天;Y 一年的第几天;
           HOUR 小时;HH 小时;
           MINUTE 分钟;MI 分钟;N 分钟;
           SECOND 秒;SS 秒;S 秒;
           MCS 微秒(略);MICROSECOND 微秒(略);MILLISECOND 毫秒(略);MS 毫秒(略) ; NANOSECOND 十亿分之一秒(略);NS 十亿分之一秒(略);

DATEPART:参数参考DATENAME,不过返回值不一样,DATENAME返回varchar,DATEPART返回int

CONVERT 函数转换格式:主要注意第三个参数 date_style ;格式:select CONVERT(varchar,GETDATE(),0)

    最后的 date_style 可以有 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,100,

                                                      101,102,103,104,105,106,107,108,109,110,111,112,113,114,120,121,126,127,130,131等

           常用的 20,23,24,102,111,112,120等;

           示例:

                    select CONVERT(varchar,GETDATE(),20)  --2017-05-12 17:22:22
                    select CONVERT(varchar,GETDATE(),23)  --2017-05-12
                    select CONVERT(varchar,GETDATE(),24)  --17:23:42
                    select CONVERT(varchar,GETDATE(),102) --2017.05.12
                    select CONVERT(varchar,GETDATE(),111) --2017/05/12
                    select CONVERT(varchar,GETDATE(),112) --20170512

      字符串转日期:select CONVERT(datetime,'2017-05-12',20) 第三个参数参考以上。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值