본문 바로가기

MSSQL

[MSSQL]유용한 함수들(날짜/시간 관련)

✔ 현재 날짜와 시간 반환

/* 1) GETDATE() : 현재 날짜와 시간을 반환 */ 
SELECT GETDATE(); --2022-10-05 09:53:55.843 
/* 2) SYSDATETIME() : hh:mm:ss.xxxxx 수준의 날짜와 시간을 반환 */ 
SELECT SYSDATETIME(); --2022-10-05 09:57:20.6625792 /* 
3) SYSDATETIMEOFFSET() : hh:mm:ss.xxxxx +09:00 수준의 날짜와 시간을 반환 */ 
SELECT SYSDATETIMEOFFSET();

✔ 날짜 데이터에서 년/월/일만 추출하는 함수

SELECT YEAR(GETDATE()); --2022 
SELECT MONTH(GETDATE()); --10 
SELECT DAY(GETDATE()); --17

✔ DATEPART() : 날짜와 시간 관련 정보를 추출 > 결과가 숫자로 출력

SELECT DATEPART( YEAR, GETDATE()); --2022 
SELECT DATEPART( YY, GETDATE()); --2022 
SELECT DATEPART( MONTH, GETDATE()); --10 
SELECT DATEPART( DAY, GETDATE()); --7 
SELECT DATEPART( QUARTER, GETDATE()); --4
SELECT DATEPART( WEEKDAY, GETDATE()); --6 
SELECT DATEPART( WEEK, GETDATE()); --41 
SELECT DATEPART( HOUR, GETDATE()); --14 
SELECT DATEPART( MINUTE, GETDATE()); --11 
SELECT DATEPART( SECOND, GETDATE()); --48

✔ DATENAME() 함수 : 날짜와 시간 관련 정보를 추출 > 결과가 문자로 출력

SELECT DATENAME( YEAR, GETDATE()); --2022 
SELECT DATENAME( YY, GETDATE()); --2022 
SELECT DATENAME( MONTH, GETDATE()); --10 
SELECT DATENAME( DAY, GETDATE()); --7 
SELECT DATENAME( QUARTER, GETDATE()); --4 
SELECT DATENAME( WEEKDAY, GETDATE()); --금요일 
SELECT DATENAME( WEEK, GETDATE()); --41 
SELECT DATENAME( HOUR, GETDATE()); --14 
SELECT DATENAME( MINUTE, GETDATE()); --11 
SELECT DATENAME( SECOND, GETDATE()); --48

✔ DATEADD() : 지정한 단위로 지정한 수 만큼 날짜 및 시간 가감

SELECT DATEADD(DAY, 100, GETDATE()); --2023-01-15 14:15:40.270

✔ DATEDIFF() : 두 날짜 및 시간의 차이

SELECT DATEDIFF(DAY, GETDATE(),'2022-12-25'); --79

✔ EOMONTH() : 해당 날이 포함된 달의 마지막 날

SELECT EOMONTH(GETDATE()); --2022-10-31 
SELECT EOMONTH(GETDATE(), 1); --2022-11-30 (다음달의 마지막 날) 
SELECT EOMONTH(GETDATE(), -1); --2022-09-30 (이전 달의 마지막 날)

SQL Server Management