[sql] 날짜와 시간 데이터 처리를 위한 함수 사용 방법

날짜와 시간 데이터를 다루는 것은 데이터베이스에서 매우 중요합니다. SQL에서는 날짜와 시간 데이터를 다루기 위한 다양한 내장 함수를 제공합니다. 이 포스트에서는 SQL에서 날짜와 시간 데이터를 처리하기 위한 함수들을 살펴보겠습니다.

1. 날짜 및 시간 함수

1.1. 현재 날짜 및 시간 가져오기

현재 날짜와 시간을 가져오기 위해서는 GETDATE() 함수를 사용합니다.

SELECT GETDATE() AS CurrentDateTime;

1.2. 날짜 추출

특정 날짜에서 연도, 월, 일을 추출하기 위해 YEAR, MONTH, DAY 함수를 사용합니다.

SELECT 
    YEAR(DateColumn) AS ExtractedYear,
    MONTH(DateColumn) AS ExtractedMonth,
    DAY(DateColumn) AS ExtractedDay
FROM Table;

1.3. 날짜 연산

두 날짜 사이의 차이를 계산하거나 날짜에 일정 기간을 더하거나 빼기 위해 DATEDIFF, DATEADD 함수를 사용합니다.

-- 날짜 차이 계산
SELECT DATEDIFF(day, StartDate, EndDate) AS DateDifference
FROM Table;

-- 날짜에 기간 더하기
SELECT DATEADD(day, 7, DateColumn) AS NewDate
FROM Table;

1.4. 날짜 형식 변환

날짜 형식을 원하는 형태로 변환하기 위해 CONVERT 함수를 사용합니다.

SELECT 
    DateColumn,
    CONVERT(varchar, DateColumn, 106) AS FormattedDate
FROM Table;

2. 시간대 관련 함수

2.1. 시간대 변환

시간대를 변환하기 위해 SWITCHOFFSET 함수를 사용합니다.

SELECT 
    TimeColumn AT TIME ZONE 'UTC' AT TIME ZONE 'Korea Standard Time' AS KoreanTime
FROM Table;

2.2. 특정 시간대의 현재 시간 가져오기

특정 시간대의 현재 시간을 가져오기 위해 SYSDATETIMEOFFSET() 함수를 사용합니다.

SELECT SYSDATETIMEOFFSET AT TIME ZONE 'Pacific Standard Time' AS CurrentPacificTime;

이러한 함수들을 사용하여 SQL에서 날짜와 시간 데이터를 다양하게 처리할 수 있습니다. 각 데이터베이스 시스템마다 함수의 이름과 문법은 다를 수 있으므로 해당 데이터베이스의 공식 문서를 참고하는 것이 좋습니다.

참고 자료