반응형
이번 글에서는 SQL Server에서 사용되는 주요 날짜 및 시간 관련 데이터 형식인 DATE, TIME, DATETIME, DATETIME2의 차이를 확인해 보았습니다.
각 형식이 저장하는 정보와 정밀도 차이를 비교함으로써, 용도에 맞는 형식을 선택하는 기준을 익히는 것이 목적입니다.
📌 예제 코드
-- [1] 날짜/시간 컬럼을 포함한 테이블 생성
CREATE TABLE date_table (
JustDate DATE, -- 날짜만 저장
JustTime TIME, -- 시간만 저장
JustDateTime DATETIME, -- 날짜 + 시간 (소수 초 단위 정밀도 제한)
JustDateTime2 DATETIME2 -- 날짜 + 시간 (더 높은 정밀도)
);
-- [2] 현재 날짜 및 시간 저장
INSERT INTO date_table
VALUES (SYSDATETIME(), SYSDATETIME(), SYSDATETIME(), SYSDATETIME());
-- [3] 결과 조회
SELECT * FROM date_table;
💻 실행 결과 예시
JustDate | JustTime | JustDateTime | JustDateTime2 |
2025-05-28 | 31:45.1 | 31:45.1 | 31:45.1 |
- JustDate: 날짜만 저장, 시간은 제외
- JustTime: 시간만 저장, 날짜는 제외
- JustDateTime: 날짜와 시간 저장, 소수 초는 최대 3자리
- JustDateTime2: 날짜와 시간 저장, 소수 초는 최대 7자리
💬 코드 설명
- SYSDATETIME(): 현재 날짜와 시간 반환 (고정밀도)
- DATE: 날짜만 저장 (YYYY-MM-DD)
- TIME: 시간만 저장 (HH:MM:SS.nnnnnnn)
- DATETIME: 날짜 + 시간 저장, 소수 초 3자리 정밀도
- DATETIME2: 날짜 + 시간 저장, 최대 7자리 정밀도
💡 포인트 정리
- DATE: 날짜만 필요할 때 (생년월일 등)
- TIME: 시간만 필요할 때 (예약 시간 등)
- DATETIME: 일반적인 날짜 + 시간 저장용 (정밀도 낮음)
- DATETIME2: 고정밀도 시간 기록이 필요한 경우 (로그, 트랜잭션 기록 등)
- SYSDATETIME(): GETDATE()보다 더 정밀한 시간 제공
📌 정리하자면, 이번 강의에서는 DATE, TIME, DATETIME, DATETIME2의 차이를 직접 비교해 보며
데이터베이스에서 시간 정보를 어떻게 저장하고 활용할 수 있는지를 실습했습니다.
정밀도와 용도에 따라 형식을 적절히 선택하는 것이 성능과 정확도에 모두 중요합니다.
'SQL Server > 실기 정리' 카테고리의 다른 글
SQL Server 29강 - 기준 테이블을 기준으로 연결하는 LEFT JOIN (0) | 2025.06.04 |
---|---|
SQL Server 28강 - 다중 INNER JOIN을 활용한 테이블 결합 (1) | 2025.06.04 |
SQL Server 27강 - 두 테이블 연결 조회 (INNER JOIN) (2) | 2025.06.02 |
SQL Server 25강 - 유니코드 없이 한글을 저장할 때 생기는 문제 (VARCHAR vs NVARCHAR) (0) | 2025.06.02 |
SQL Server 24강 - 문자열 데이터 형식과 저장 공간 비교 (LEN, DATALENGTH) (0) | 2025.06.02 |
SQL Server 23강 - SELECT INTO를 활용한 테이블 생성 및 데이터 복사 (0) | 2025.06.02 |