sp_datatype_info(Transact-SQL)
현재 환경에서 지원되는 데이터 형식에 대한 정보를 반환합니다.
구문
sp_datatype_info [ [ @data_type = ] data_type ]
[ , [ @ODBCVer = ] odbc_version ]
인수
- [ @data_type= ] data_type
지정된 데이터 형식의 코드 번호입니다. 모든 데이터 형식의 목록을 가져오려면 이 매개 변수를 생략하십시오. data_type은 int이며 기본값은 0입니다.
- [ @ODBCVer= ] odbc_version
사용하고 있는 ODBC 버전입니다. odbc_version은 tinyint이며 기본값은 2입니다.
반환 코드 값
없음
결과 집합
열 이름 | 데이터 형식 | 설명 |
---|---|---|
TYPE_NAME |
sysname |
DBMS에 종속된 데이터 형식입니다. |
DATA_TYPE |
smallint |
ODBC 형식의 열이 모두 매핑되는 해당 형식의 코드입니다. |
PRECISION |
int |
데이터 원본에 있는 데이터 형식의 최대 전체 자릿수입니다. 전체 자릿수가 적용되지 않는 데이터 형식에 대해서는 NULL이 반환됩니다. PRECISION 열의 반환 값은 10진수입니다. |
LITERAL_PREFIX |
varchar(32) |
상수 앞에 사용되는 문자 또는 문자열입니다. 예를 들어 SQL Server 2005에서 문자 유형에는 작은 따옴표(')가 사용되며 이진에는 0x가 사용됩니다. |
LITERAL_SUFFIX |
varchar(32) |
상수 끝에 사용되는 문자 또는 문자열입니다. 예를 들어 문자 유형에는 작은 따옴표(')가 사용되며 이진에는 따옴표가 사용되지 않습니다. |
CREATE_PARAMS |
varchar(32) |
해당 데이터 형식에 대한 매개 변수 만들기에 대한 설명입니다. 예를 들어 decimal은 "precision, scale", float는 NULL, 그리고 varchar는 "max_length"입니다. |
NULLABLE |
smallint |
NULL 허용 여부를 지정합니다. 1 = NULL 값을 허용합니다. 0 = NULL 값을 허용하지 않습니다. |
CASE_SENSITIVE |
smallint |
대/소문자 구분 여부를 지정합니다. 1 = 이 형식의 열은 모두 데이터 정렬 시 대/소문자를 구분합니다. 0 = 이 형식의 열은 모두 대/소문자를 구분하지 않습니다. |
SEARCHABLE |
smallint |
열 유형입니다. 1 = 이 형식의 열은 WHERE 절에서 사용할 수 있습니다. 0 = 이 형식의 열은 WHERE 절에서 사용할 수 없습니다. |
UNSIGNED_ATTRIBUTE |
smallint |
데이터 형식의 서명 여부를 지정합니다. 1 = 서명되지 않은 데이터 형식입니다. 0 = 서명된 데이터 형식입니다. |
MONEY |
smallint |
money 데이터 형식을 지정합니다. 1 = money 데이터 형식입니다. 0 = money 데이터 형식이 아닙니다. |
AUTO_INCREMENT |
smallint |
자동 증가를 지정합니다. 1 = 자동 증가입니다. 0 = 자동 증가가 아닙니다. NULL = 특성이 적용되지 않습니다. 응용 프로그램은 이 특성을 가진 열에 값을 삽입할 수는 있으나 열에 있는 값을 업데이트할 수 없습니다. bit 데이터 형식을 제외하고 AUTO_INCREMENT는 정확한 수치 또는 근사치 데이터 형식 범주에 속하는 데이터 형식에만 사용할 수 있습니다. |
LOCAL_TYPE_NAME |
sysname |
데이터 원본에 종속적인 데이터 형식 이름의 지역화된 버전입니다. 예를 들어 프랑스에서 DECIMAL은 DECIMALE이 됩니다. 데이터 원본이 지역화된 이름을 지원하지 않는 경우에는 NULL이 반환됩니다. |
MINIMUM_SCALE |
smallint |
데이터 원본에서 데이터 형식의 최소 소수 자릿수입니다. 데이터 형식이 고정 소수 자릿수인 경우에는 MINIMUM_SCALE 및 MAXIMUM_SCALE 열 모두 이 값을 포함합니다. 소수 자릿수가 적용되지 않는 경우에는 NULL이 반환됩니다. |
MAXIMUM_SCALE |
smallint |
데이터 원본에서 데이터 형식의 최대 소수 자릿수입니다. 데이터 원본에서 최대 소수 자릿수는 별도로 정의되지 않고 그 대신 최대 자릿수와 동일하게 정의된 경우에는 이 열이 PRECISION 열과 같은 값을 포함하게 됩니다. |
SQL_DATA_TYPE |
smallint |
설명자의 TYPE 필드에 표시된 SQL 데이터 형식의 값입니다. 이 열은 datetime 및 ANSI interval 데이터 형식을 제외하고 DATA_TYPE 열과 동일합니다. 이 필드는 항상 값을 반환합니다. |
SQL_DATETIME_SUB |
smallint |
SQL_DATA_TYPE 값이 SQL_DATETIME 또는 SQL_INTERVAL인 경우 datetime 또는 ANSI interval 하위 코드입니다. datetime 및 ANSI interval이 아닌 데이터 형식인 경우에는 이 필드가 NULL입니다. |
NUM_PREC_RADIX |
int |
열이 보유할 수 있는 최대 수를 계산하는 데 필요한 비트 수 또는 자릿수입니다. 데이터 형식이 근사 숫자 데이터 형식인 경우 이 열은 비트를 표시하는 2라는 값을 포함할 수 있습니다. 정확한 숫자 형식인 경우에는 이 열이 10진수의 수를 표시하는 10이라는 값을 포함할 수 있습니다. 그렇지 않은 경우 이 열은 NULL입니다. 응용 프로그램에서는 전체 자릿수와 기수를 결합하여 열이 보유할 수 있는 최대 수를 계산할 수 있습니다. |
INTERVAL_PRECISION |
smallint |
data_type이 interval인 경우에 전체 자릿수를 유도하는 간격의 값입니다. 그렇지 않은 경우에는 NULL입니다. |
USERTYPE |
smallint |
systypes 테이블의 usertype 값입니다. |
주의
sp_datatype_info는 ODBC의 SQLGetTypeInfo와 같습니다. 반환되는 결과는 DATA_TYPE을 기준으로 정렬되며 데이터 형식의 근접한 정도에 따라 해당 ODBC SQL 데이터 형식에 매핑됩니다.
사용 권한
public 역할의 멤버 자격이 필요합니다.
예
다음 예에서는 data_type 값을 -9
로 지정하여 sysname 및 nvarchar 데이터 형식에 대한 정보를 검색합니다.
USE master;
GO
EXEC sp_datatype_info -9;
GO
참고 항목
참조
데이터베이스 엔진 저장 프로시저(Transact-SQL)
데이터 형식(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)