SqlServer获取当前日期


SqlServer获取当前日期


1. 获取当前日期


select GETDATE()

格式化:

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


2. 获取当前年  --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)


5. 获取当前年月 --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) 第三个参数参考以上。


上一篇:使用Hutool进行类型转换【Convert类】


下一篇:SQL中CONVERT转化函数的用法