TYPEPROPERTY (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

データ型に関する情報を返します。

Transact-SQL 構文表記規則

構文

TYPEPROPERTY (type , property)  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

type
データ型の名前です。

property
データ型について返される情報の種類です。 プロパティ 値は次のいずれかを指定することができます。

プロパティ 説明 返される値
AllowsNull データ型で NULL 値が許容されるかどうか。 1 = True

0 = False

NULL = データ型が見つからない
OwnerId 型の所有者。

注: スキーマの所有者はデータ型の所有者である必要はありません。
NULL 以外 = 型所有者のデータベース ユーザー ID。

NULL = サポートされない型、または型の ID が無効。
[精度] データ型の有効桁数。 桁数または文字数。

-1 = xml または大きな値のデータ型

NULL = データ型が見つからない
スケール データ型の小数点以下桁数。 データ型の小数点以下桁数

NULL = データ型が numeric でないか、見つからない
UsesAnsiTrim データ型の作成時に ANSI による埋め込みがオンであるかどうか。 1 = True

0 = False

NULL = データ型が見つからないか、データ型が binary と文字列型のどちらでもない。

戻り値の型

int

例外

エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。

SQL Server では、そのユーザーが所有している、または権限を与えられている、セキュリティ保護可能なアイテムのメタデータのみを表示できます。 つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (TYPEPROPERTY など) が NULL を返す可能性があります。 詳細については、「 Metadata Visibility Configuration」を参照してください。

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');  

参照

TYPE_ID (Transact-SQL)
TYPE_NAME (Transact-SQL)
COLUMNPROPERTY (Transact-SQL)
メタデータ関数 (Transact-SQL)
OBJECTPROPERTY (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sys.types (Transact-SQL)