次の方法で共有


sp_datatype_info (Transact-SQL)

現在の環境でサポートされるデータ型に関する情報を返します。

トピック リンク アイコン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