이 항목에서는 SQL Server 2008에 추가된 날짜 및 시간 데이터 형식에 대한 SQL Server Native Client 지원에 대해 설명합니다.
날짜/시간 개선에 대한 자세한 내용은 날짜 및 시간 개선 사항(OLE DB) 및 ODBC(날짜 및 시간 개선)를 참조하세요.
이 기능을 보여 주는 샘플 애플리케이션에 대한 자세한 내용은 SQL Server 데이터 프로그래밍 샘플을 참조하세요.
사용법
다음 섹션에서는 새 날짜 및 시간 유형을 사용하는 다양한 방법을 설명합니다.
날짜를 고유 데이터 형식으로 사용
SQL Server 2008부터 날짜/시간 형식에 대한 지원이 향상되어 SQL_TYPE_DATE ODBC 형식(ODBC 2.0 애플리케이션의 경우 SQL_DATE) 및 DBTYPE_DBDATE OLE DB 형식을 사용하는 것이 더 효율적입니다.
시간을 고유 데이터 형식으로 사용
OLE DB에는 전체 자릿수가 1초인 DBTYPE_DBTIME 시간만 포함된 데이터 형식이 이미 있습니다. ODBC에서 해당 형식은 SQL_TYPE_TIME(ODBC 2.0 애플리케이션의 경우 SQL_TIME)입니다.
새 SQL Server 시간 데이터 형식의 소수 자릿수 초는 100나노초로 정확합니다. 이렇게 하려면 SQL Server Native Client의 새 형식인 DBTYPE_DBTIME2(OLE DB) 및 SQL_SS_TIME2(ODBC)가 필요합니다. 소수 자릿수 초가 없는 시간을 사용하도록 작성된 기존 애플리케이션은 시간(0) 열을 사용할 수 있습니다. 애플리케이션이 메타데이터에서 반환된 형식을 사용하지 않는 한 기존 OLE DB DBTYPE_TIME 및 ODBC SQL_TYPE_TIME 형식 및 해당 구조체가 올바르게 작동해야 합니다.
시간을 소수 자릿수 초 정밀도가 확장된 고유 데이터 형식으로 사용
프로세스 제어 및 제조 애플리케이션과 같은 일부 애플리케이션에는 최대 100나노초의 정밀도로 시간 데이터를 처리하는 기능이 필요합니다. 이 용도의 새 형식은 DBTYPE_DBTIME2(OLE DB) 및 SQL_SS_TIME2(ODBC)입니다.
확장된 소수 자릿수 초 정밀도로 Datetime 사용
OLE DB는 이미 최대 1나노초의 정밀도로 형식을 정의합니다. 그러나 이 형식은 이미 기존 SQL Server 애플리케이션에서 사용되며 이러한 애플리케이션의 예상 정밀도는 1/300에 불과합니다. 새 datetime2(3) 형식은 기존 datetime 형식과 직접 호환되지 않습니다. 애플리케이션 동작에 영향을 줄 위험이 있는 경우 애플리케이션은 새 DBCOLUMN 플래그를 사용하여 실제 서버 유형을 결정해야 합니다.
또한 ODBC는 전체 자릿수가 최대 1나노초인 형식을 정의합니다. 그러나 이 형식은 기존 SQL Server 애플리케이션에서 이미 사용되며 이러한 애플리케이션에는 3밀리초의 정밀도만 필요합니다. 새 datetime2(3) 형식은 기존 datetime 형식과 직접 호환되지 않습니다.
datetime2(3) 전체 자릿수는 1밀리초이고 datetime 전체 자릿수는 1/300초입니다. ODBC에서 애플리케이션은 설명자 필드 SQL_DESC_TYPE_NAME 사용 중인 서버 유형을 확인할 수 있습니다. 따라서 기존 형식 SQL_TYPE_TIMESTAMP(ODBC 2.0 애플리케이션의 경우 SQL_TIMESTAMP)를 두 형식 모두에 사용할 수 있습니다.
확장된 소수 자릿수 초 정밀도 및 표준 시간대와 함께 Datetime 사용
일부 애플리케이션에는 표준 시간대 정보가 있는 날짜/시간 값이 필요합니다. 이는 새 DBTYPE_DBTIMESTAMPOFFSET(OLE DB) 및 SQL_SS_TIMESTAMPOFFSET(ODBC) 형식에서 지원됩니다.
기존 변환과 일치하는 Client-Side 변환에서 Date/Time/Datetime/Datetimeoffset 데이터 사용
ODBC 표준은 기존 날짜, 시간 및 타임스탬프 형식 간의 변환이 작동하는 방식을 설명합니다. SQL Server 2008에 도입된 모든 날짜 및 시간 형식 간의 변환을 포함하도록 일관된 방식으로 확장됩니다.