다음을 통해 공유


데이터 형식 사용량

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

SQL Server Native Client ODBC 드라이버 및 SQL Server는 다음과 같은 데이터 형식 사용을 적용합니다.

데이터 형식 제한 사항
날짜 리터럴 날짜 리터럴은 SQL_TYPE_TIMESTAMP 열(SQL Server 데이터 형식의 datetime 또는 smalldatetime)에 저장되는 경우 시간 값은 오전 12:00:00.000입니다.
money and smallmoney money 및 smallmoney 데이터 형식의 정수 부분만 중요합니다. 데이터 형식 변환 중에 SQL Money 데이터의 소수 부분이 잘리는 경우 SQL Server Native Client ODBC 드라이버는 오류가 아닌 경고를 반환합니다.
SQL_BINARY(Null 허용) SQL Server 버전 6.0 이하의 인스턴스에 연결된 경우 SQL_BINARY 열이 null을 허용하면 데이터 원본에 저장된 데이터는 0으로 채워지지 않습니다. 이러한 열의 데이터를 검색하면 SQL Server Native Client ODBC 드라이버가 오른쪽에 0으로 채워집니다. 그러나 연결과 같이 SQL Server에서 수행하는 작업에서 만든 데이터에는 이러한 패딩이 없습니다.

또한 SQL Server 6.0 이전 인스턴스의 이러한 열에 데이터가 배치되면 SQL Server는 열에 맞지 않는 시간이 너무 길면 오른쪽의 데이터를 자른다.

참고: SQL Server Native Client ODBC 드라이버는 SQL Server 6.5 이하에 대한 연결을 지원합니다.
SQL_CHAR(잘림) SQL Server 6.0 이하의 인스턴스에 연결되고 데이터가 SQL_CHAR 열에 배치되면 데이터가 열에 맞지 않는 경우 SQL Server는 경고 없이 오른쪽에서 잘립니다.

참고: SQL Server Native Client ODBC 드라이버는 SQL Server 6.5 이하에 대한 연결을 지원합니다.
SQL_CHAR(Null 허용) SQL Server 6.0 이하의 인스턴스에 연결된 경우 SQL_CHAR 열이 null을 허용하면 데이터 원본에 저장된 데이터는 공백으로 채워지지 않습니다. 이러한 열의 데이터를 검색하면 SQL Server Native Client ODBC 드라이버가 오른쪽에 공백으로 채워집니다. 그러나 연결과 같이 SQL Server에서 수행하는 작업에서 만든 데이터에는 이러한 패딩이 없습니다.

참고: SQL Server Native Client ODBC 드라이버는 SQL Server 6.5 이하에 대한 연결을 지원합니다.
SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_WLONGVARCHAR 여러 행에 영향을 주는 SQL_LONGVARBINARY, SQL_LONGVARCHAR 또는 SQL_WLONGVARCHAR 데이터 형식(WHERE 절 사용)이 있는 열의 업데이트는 SQL Server 6 인스턴스에 연결된 경우 완전히 지원됩니다.x 이상. SQL Server 4.2x 인스턴스에 연결된 경우 S1000 오류인 "부분 삽입/업데이트입니다. 텍스트 또는 이미지 열의 삽입/업데이트가 성공하지 못했습니다." 업데이트가 둘 이상의 행에 영향을 주면 반환됩니다.

참고: SQL Server Native Client ODBC 드라이버는 SQL Server 6.5 이하에 대한 연결을 지원합니다.
문자열 함수 매개 변수 문자열 함수에 대한 string_exp 매개 변수는 SQL_CHAR 또는 SQL_VARCHAR 데이터 형식이어야 합니다. SQL_LONG_VARCHAR 데이터 형식은 문자열 함수에서 지원되지 않습니다. SQL_CHAR 및 SQL_VARCHAR 데이터 형식은 최대 길이 8,000자로 제한되므로 count 매개 변수는 8,000자 미만이거나 같아야 합니다.
시간 리터럴 시간 리터럴은 SQL_TIMESTAMP 열(SQL Server 데이터 형식의 datetime 또는 smalldatetime)에 저장되는 경우 날짜 값이 1900년 1월 1일입니다.
timestamp NULL 값만 타임스탬프 열에 수동으로 삽입할 수 있습니다. 그러나 타임스탬프열은 SQL Server에서 자동으로 업데이트되므로 NULL 값을 덮어씁니다.
tinyint SQL Server tinyint 데이터 형식은 서명되지 않았습니다. tinyint 열은 기본적으로 SQL_C_UTINYINT 데이터 형식의 변수에 바인딩됩니다.
별칭 데이터 형식 SQL Server 4.2x 인스턴스에 연결된 경우 ODBC 드라이버는 열의 Null 허용 가능성을 명시적으로 선언하지 않는 열 정의에 NULL을 추가합니다. 따라서 별칭 데이터 형식의 정의에 저장된 Null 허용 여부는 무시됩니다.

SQL Server 4.2x 인스턴스에 연결된 경우 문자 또는 이진의 기본 데이터 형식이 있고 null 허용 여부를 선언하지 않는 별칭 데이터 형식이 있는 열은 데이터 형식 varchar 또는 varbinary로 만들어집니다. SQLColAttribute, SQLColumnsSQLDescribeCol 은 이러한 열의 데이터 형식으로 SQL_VARCHAR 또는 SQL_VARBINARY 반환합니다. 이러한 열에서 검색된 데이터는 패딩되지 않습니다.

참고: SQL Server Native Client ODBC 드라이버는 SQL Server 6.5 이하에 대한 연결을 지원합니다.
LONG 데이터 형식 실행 시 데이터 매개 변수는 SQL_LONGVARBINARY 및 SQL_LONGVARCHAR 데이터 형식 모두에 대해 제한됩니다.
큰 값 형식 SQL Server Native Client ODBC 드라이버는 ODBC SQL 데이터 형식을 허용하거나 반환하는 API에서 varchar(max), varbinary(max) 및 nvarchar(max) 형식을 각각 SQL_VARCHAR, SQL_VARBINARY 및 SQL_WVARCHAR 노출합니다.
UDT(사용자 정의 형식) UDT 열은 SQL_SS_UDT 매핑됩니다. UDT 열이 UDT의 ToString() 또는 ToXMLString() 메서드를 사용하여 SQL 문의 다른 형식에 명시적으로 매핑되거나 CAST/CONVERT 함수를 통해 매핑되는 경우 결과 집합의 열 형식은 열이 변환된 실제 형식을 반영합니다.

SQL Server Native Client ODBC 드라이버는 UDT 열에만 이진 파일로 바인딩할 수 있습니다. SQL Server는 SQL_SS_UDT 데이터 형식과 SQL_C_BINARY 데이터 형식 간의 변환만 지원합니다.
XML SQL Server는 XML을 유니코드 텍스트로 자동으로 변환합니다. XML 유형은 SQL_SS_XML로 매핑됩니다.

참고 항목

결과 처리(ODBC)