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) |
定数の先頭に記述する文字です。たとえば、文字型には単一引用符 (') が、binary 型には 0x が使用されます。 |
LITERAL_SUFFIX |
varchar(32) |
定数の末尾に記述する文字です。たとえば、文字型には単一引用符 (') が使用され、binary 型には何も使用されません。 |
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 = 検索できません。 2 = LIKE で検索できます。 3 = WHERE で検索できます。 4 = WHERE または LIKE で検索できます。 |
UNSIGNED_ATTRIBUTE |
smallint |
データ型の符号を示します。 1 = 符号なしのデータ型です。 0 = 符号付きのデータ型です。 |
MONEY |
smallint |
money 型を示します。 1 = money 型です。 0 = money 型ではありません。 |
AUTO_INCREMENT |
smallint |
自動インクリメントを示します。 1 = 自動インクリメントを行います。 0 = 自動インクリメントを行いません。 NULL = この属性は適用できません。 アプリケーションは、この属性を持つ列に値を挿入することはできますが、その列の値を更新することはできません。AUTO_INCREMENT は、bit 型以外の、真数型または概数型のデータ型に対してのみ有効です。 |
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 で、複数の小数点以下桁数を示します。それ以外は、この列は 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