sp_datatype_info (Transact-SQL)
適用対象: SQL Server Azure Synapse Analytics
現在の環境でサポートされているデータ型に関する情報を返します。
構文
sp_datatype_info
[ [ @data_type = ] data_type ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
引数
[ @data_type = ] data_type
指定したデータ型のコード番号。 @data_type は int で、既定値は 0
です。 すべてのデータ型の一覧を表示するには、このパラメーターを省略します。
[ @ODBCVer = ] ODBCVer
使用される ODBC のバージョン。 @ODBCVer は tinyint で、既定値は 2
です。
リターン コードの値
なし。
結果セット
列名 | データ型 | 説明 |
---|---|---|
TYPE_NAME |
sysname | DBMS に依存するデータ型。 |
DATA_TYPE |
smallint | このデータ型のすべての列がマップされる ODBC 型のコードです。 |
PRECISION |
int | データ ソースでのデータ型の最大有効桁数です。 NULL は、有効桁数が適用されないデータ型に対して返されます。 PRECISION 列の戻り値は 10 進数です。 |
LITERAL_PREFIX |
varchar(32) | 定数の前に使われる 1 つまたは複数の文字。 たとえば、文字型の場合は単一引用符 (' )、バイナリの場合は 0x です。 |
LITERAL_SUFFIX |
varchar(32) | 定数を終了するために使われる 1 つまたは複数の文字。 たとえば、文字型の場合は単一引用符 (' ) で、バイナリの場合は引用符は使用しません。 |
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 は、正確な数値データ型と近似数値データ型のカテゴリに属するデータ型に対してのみ有効です。 |
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 | datetime または ANSI interval サブコード ( SQL_DATA_TYPE の値が SQL_DATETIME または SQL_INTERVAL の場合)。 datetime ANSI interval 以外のデータ型の場合、このフィールドはNULL 。 |
NUM_PREC_RADIX |
int | 列が保持できる最大数を計算する場合のビット数または桁数。 データ型が概数型である場合、この列に含まれる値は 2 で、複数のビットを示します。 正確な数値型の場合、この列には、数桁の 10 進数を示す 10 値が含まれています。 それ以外の場合、この列は NULL 。 アプリケーションは、基数と精度を組み合わせて、その列が保持できる最大数を計算できます。 |
INTERVAL_PRECISION |
smallint | @data_typeが interval の場合は間隔の先頭の有効桁数の値。それ以外の場合はNULL 。 |
USERTYPE |
smallint | usertype systypes テーブルの値。 |
解説
sp_datatype_info
は ODBC の SQLGetTypeInfo
と同じです。 返される結果は、 DATA_TYPE
順に並べ替えられた後、データ型が対応する ODBC SQL データ型にどれだけ近づくかによって並べ替えます。
アクセス許可
ロール public のメンバーシップが必要です。
例
次の例では、-9
の@data_type値を指定して、sysname および nvarchar データ型の情報を取得します。
USE master;
GO
EXEC sp_datatype_info -9;
GO