TYPEPROPERTY (Transact-SQL)
データ型に関する情報を返します。
構文
TYPEPROPERTY (type , property)
引数
type
データ型の名前を指定します。property
この関数で取得するデータ型に関する情報の種類を指定します。property には、次のいずれかの値を指定できます。プロパティ
説明
戻り値
AllowsNull
データ型で NULL 値が許容されるかどうか。
1 = TRUE
0 = FALSE
NULL = データ型が見つからない
OwnerId
データ型の所有者。
注スキーマの所有者はデータ型の所有者である必要はありません。NULL 以外 = データ型所有者のデータベース ユーザー ID
NULL = サポートされないデータ型、またはデータ型の ID が無効
Precision
データ型の有効桁数。
桁数または文字数
-1 = xml または大きな値をとるデータ型
NULL = データ型が見つからない
Scale
データ型の小数点以下桁数。
データ型の小数点以下桁数
NULL = データ型が numeric でないか、見つからない
UsesAnsiTrim
データ型の作成時に ANSI による埋め込みがオンであるかどうか。
1 = TRUE
0 = FALSE
NULL = データ型が見つからないか、データ型が binary と文字列型のどちらでもない
戻り値の型
int
例外
エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。
SQL Server では、そのユーザーが所有しているか、または権限を与えられている、セキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (TYPEPROPERTY など) が NULL を返す可能性があります。詳細については、「メタデータ表示の構成」および「メタデータ表示のトラブルシューティング」を参照してください。
例
A. データ型の所有者を特定する
次の例では、データ型の所有者を返します。
SELECT TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId') AS owner_id, name, system_type_id, user_type_id, schema_id
FROM sys.types;
B. tinyint データ型の有効桁数を返す
次の例では、tinyint データ型の有効桁数を返します。
SELECT TYPEPROPERTY( 'tinyint', 'PRECISION');