1. 程式人生 > 其它 >SqlServer獲取當前日期的詳細寫法

SqlServer獲取當前日期的詳細寫法

SqlServer獲取當前日期
1. 獲取當前日期

select GETDATE()
格式化:

select CONVERT(varchar,GETDATE(),120) --2018-04-23 14:47:10
2. 獲取當前年 --2017

複製程式碼
select DATENAME(YYYY,GETDATE()) --2018

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

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

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

select YEAR(時間欄位名)--2018
複製程式碼
3.獲取當前月 --05或5

複製程式碼
select DATENAME(MM,GETDATE()) --04

select DATENAME(MONTH,GETDATE()) --04

select DATEPART(MM,GETDATE()) --4

select DATEPART(MONTH,GETDATE()) --4

select MONTH(時間欄位名) --4
複製程式碼

4.獲取當前日期 --07或7

複製程式碼
select DATENAME(DAY,GETDATE()) --23
select DATENAME(D,GETDATE()) --23
select DATENAME(DD,GETDATE()) --23

select DATEPART(D,GETDATE()) --23
select DATEPART(DD,GETDATE()) --23
select DATEPART(DAY,GETDATE()) --23

select DAY(GETDATE())
複製程式碼

5. 獲取當前年月 --201705

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

select CONVERT(varchar(7),GETDATE(),120) --2018-04

6.獲取當前年月日 --20170512

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

select CONVERT(varchar(10),GETDATE(),120) --2018-04-23

7.日期相關函式整理:

GETDATE() :獲取當前時間,時間格式預設。

DATENAME:引數為兩個,取值區間 interval 和時間 date

date 就是時間;

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

e.g:

YEAR 年;YYYY 年;YY 年;
QUARTER 季度;QQ 季度 ;Q 季度;
MONTH 月(04);MM 月(04);M 月(04);
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) --2018-04-23 14:44:22
select CONVERT(varchar,GETDATE(),23) --2018-04-23
select CONVERT(varchar,GETDATE(),24) --14:44:22
select CONVERT(varchar,GETDATE(),102) --2018.04.23
select CONVERT(varchar,GETDATE(),111) --2018/04/23
select CONVERT(varchar,GETDATE(),112) --20180423

字串轉日期:

select CONVERT(datetime,'2018-04-23',20)
第三個引數參考以上。