본문 바로가기

SQL

MSSQL 날짜 함수: 형식, 변환 및 연산

반응형

MSSQL 날짜 함수: 형식, 변환 및 연산

 
MSSQL 데이터베이스에서 날짜를 다루는 것은 데이터 처리 및 분석에서 중요한 부분입니다. 이 블로그 포스트에서는 MSSQL에서 날짜를 다루는 다양한 함수, 형식, 변환 및 연산에 대해 알아보겠습니다.
 

실무에서 생각보다 많이 사용하는 명령어로
날짜관련 기능이 포함되는 곳에는 반드시 들어간다고 보시면 됩니다.
그럼 시작하겠습니다.
사실은 제가 보기편하기 위해서 만들어놓은 겁니다.

 

1. 날짜 함수

MSSQL은 다양한 날짜 함수를 제공하여 날짜를 처리하고 분석하는 데 도움을 줍니다.
예를 들어, GETDATE()함수를 사용하여 날짜를 추출하거나 계산할 수 있습니다.
 

1-1. GETDATE()

현재 날짜와 시간을 반환합니다.
예시: SELECT GETDATE();

GETDATE() 함수
GETDATE() 함수

2. 날짜 연산

MSSQL에서는 날짜 간의 연산도 가능합니다. DATEADD(), DATEDIFF() 함수를 통해 날짜를 더하거나 빼는 것은 물론, 두 날짜 간의 차이를 계산하는 것도 가능합니다.
 

2-1. DATEADD()

날짜에 지정된 간격을 추가합니다.
예시: SELECT DATEADD(DAY, 7, GETDATE()); (현재 날짜에 7일을 더한 날짜 반환)

DATEADD() 함수
DATEADD() 함수

 

2-2. DATEDIFF()

두 날짜 사이의 간격을 계산합니다.
예시: SELECT DATEDIFF(DAY, '2022-01-01', '2022-01-10'); (두 날짜 사이의 일 수 반환)
 

DATEDIFF() 함수
DATEDIFF() 함수

3. 날짜 변환 및 형식

다른 형식의 날짜를 MSSQL에서 사용하는 형식으로 변환해야 할 때가 있습니다. CONVERT() 함수를 사용하여 날짜를 필요한 형식으로 변환할 수 있습니다.
날짜를 출력할 때 원하는 형식으로 변환하는 것은 중요합니다. MSSQL은 FORMAT() 함수를 사용하여 날짜를 다양한 형식으로 변환할 수 있습니다. 예를 들어, 'YYYY-MM-DD' 형식으로 날짜를 표시할 수 있습니다.
 

3-1. CONVERT()

날짜 형식을 다른 형식으로 변환합니다.
예시: SELECT CONVERT(NVARCHAR, GETDATE(), 106); (날짜를 'dd MM yyyy' 형식으로 반환)
함수설명

CONVERT(data_type, expression, style)지정된 데이터 타입으로 표현식을 변환합니다.
style 매개변수설명예시
1MM/dd/yy05/03/24
2yy.MM.dd24.05.03
3dd/MM/yy03/05/24
4dd.MM.yy03.05.24
5dd-MM-yy03-05-24
6dd mon yy03 May 24
7mon dd, yyMay 03, 24
8hh:mi:ss17:39:56
9mon M yyyy h:mi:ss:msAMPMMay  3 2024  5:39:56:490PM
10MM-dd-yy05-03-24
11yy/MM/dd24/05/03
12yyMMdd240503
13dd mon yyyy hh:mi:ss:ms03 May 2024 17:39:56:490
14hh:mi:ss:ms17:39:56:490
20yyyy-MM-dd hh:mi:ss2024-05-03 17:39:56
21yyyy-MM-dd hh:mi:ss.ms2024-05-03 17:39:56.490
22MM/dd/yy s:mi:ss AMPM05/03/24  5:39:56 PM
23yyyy-MM-dd2024-05-03
24hh:mi:ss17:39:56
25yyyy-MM-dd hh:mi:ss.ms2024-05-03 17:39:56.490
100mon M yyyy h:mi AMPMMay  3 2024  6:15PM
101MM/dd/yyyy05/03/2024
102yyyy.MM.dd2024.05.03
103dd/MM/yyyy03/05/2024
104dd.MM.yyyy03.05.2024
105dd-MM-yyyy03-05-2024
106dd mon yyyy03 May 2024
107mon dd, yyyyMay 03, 2024
108hh:mi:ss18:15:50
109mon d yyyy h:mi:ss:ms AMPMMay  3 2024  6:15:50:117PM
110MM-dd-yyyy05-03-2024
111yyyy/MM/dd2024/05/03
112yyyyMMdd20240503
113dd mon yyyy hh:mi:ss:ms03 May 2024 18:15:50:117
114hh:mi:ss:ms18:15:50:117
120yyyy-MM-dd hh:mi:ss2024-05-03 18:15:50
121yyyy-MM-dd hh:mi:ss.ms2024-05-03 18:15:50.117

 

3-2. FORMAT()

날짜를 특정 형식으로 서식화합니다. (SQL Server 2012 이상)
예시: SELECT FORMAT(GETDATE(), 'yyyy-MM-dd'); (날짜를 'yyyy-MM-dd' 형식으로 반환)

FORMAT() 함수

 
 
이처럼 MSSQL에서는 날짜를 다루는 다양한 기능을 제공하고 있으며, 이를 적절히 활용하여 데이터베이스 작업을 보다 효율적으로 수행할 수 있습니다. 위에서 소개한 내용을 바탕으로 MSSQL에서의 날짜 처리를 보다 쉽고 간편하게 작업하시길 바라겠습니다.
 
감사합니다.
 

반응형

'SQL' 카테고리의 다른 글

MSSQL: 순위 함수  (0) 2024.05.28
MSSQL: 중복 데이터 조회 및 삭제  (0) 2024.05.18
MSSQL: 요일 구하기 및 한글 영문 변환  (0) 2024.05.11