본문 바로가기
프로그래밍/TSQL

[MSSQL] datetime vs datetime2 타입 차이

by 정리 습관(★arranging★) 2021. 8. 25.
728x90

DATETIME2는 DATETIME 에 비해 날짜 표현 범위가 넓으면서 정확도가 높고, 정밀도에 따라 저장공간의 절약이 가능한데이터 타입니다. 
SQL Server2008부터 지원되는 데이터 타입이며, DATETIME 에 비해 권고되는 데이터 타입입니다.

1. DATETIME 은 0001 년도 부터 표현이 불가한데 DATETIME2는 0001년 부터 표현이 가능합니다.
2. DATETIME은 0.00333초 단위 정확도이지만 DATETIME2는 100NANOSECONDS까지 정밀합니다.
3. 정밀도에 따라 저장용량 절약이 가능합니다.(datetime2(3), datetime2(4) 는 7바이트 미만은 6바이트 초과는 8바이트) 

  1. larger range of values (0001-01-01 through 9999-12-31)
  2. better Accuracy
  3. smaller storage space (if optional user-specified precision is specified)
please note the following points
  • Syntax
    • datetime2[(fractional seconds precision=> Look Below Storage Size)]
  • Precision, scale
    • 0 to 7 digits, with an accuracy of 100ns.
    • The default precision is 7 digits.
  • Storage Size
    • 6 bytes for precision less than 3;
    • 7 bytes for precision 3 and 4.
    • All other precision require 8 bytes.
  • DateTime2(3) have the same number of digits as DateTime but uses 7 bytes of storage instead of 8 byte (SQLHINTS- DateTime Vs DateTime2)
  • Find more on datetime2(Transact-SQL MSDN article)

https://docs.microsoft.com/en-us/sql/t-sql/data-types/datetime2-transact-sql?view=sql-server-ver15 

 

datetime2 (Transact-SQL) - SQL Server

datetime2 (Transact-SQL)

docs.microsoft.com

 

 

선언에 따른 적재 데이터

날짜 표출 형태 변경은 datetime, datetime2모두 동일하게 convert, cast, format을 사용하면 됩니다. 다른 날짜 연산도 마찬가지입니다.

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-ver15 

 

날짜 및 시간 데이터 형식과 함수 - SQL Server (Transact-SQL)

날짜 및 시간 데이터 형식과 함수 문서의 링크입니다.

docs.microsoft.com

SELECT CONVERT(NVARCHAR, GETDATE(), 20)

 

댓글