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) 第三个参数参考以上。