次の方法で共有


TYPE_NAME (Transact-SQL)

更新 : 2006 年 7 月 17 日

指定した型の ID について、修飾なしの名前を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

TYPE_NAME ( type_id ) 

引数

  • type_id
    使用する型の ID を指定します。type_id のデータ型は int です。呼び出し元がアクセス権を所有しているスキーマの型を参照できます。

戻り値の型

sysname

例外

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

SQL Server 2005 では、ユーザーは、所有しているか権限を与えられているセキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、ユーザーがオブジェクトに対する権限を与えられていない場合、メタデータを生成する TYPE_NAME などの組み込み関数では NULL が返される可能性があります。詳細については、「メタデータ表示の構成」および「メタデータ表示のトラブルシューティング」を参照してください。

解説

type_id が無効であるか、呼び出し元が型の参照に必要な権限を所有していない場合、TYPE_NAME では NULL が返されます。

TYPE_NAME は、システム データ型と、ユーザー定義データ型にも使用できます。型が含まれるスキーマはあらゆるスキーマが対象になりますが、常に修飾なしの名前が返されます。つまり、名前に schema**.** プレフィックスは含まれません。

システム関数は、選択リストや WHERE 句のほか、式が許可される場所であればどこでも使用できます。詳細については、「式 (Transact-SQL)」および「WHERE (Transact-SQL)」を参照してください。

次の例では、AdventureWorks データベースの Vendor テーブルにある各列の、オブジェクト名、列名、型名を返します。

USE AdventureWorks;
GO
SELECT o.name AS obj_name, c.name AS col_name,
       TYPE_NAME(c.user_type_id) AS type_name
FROM sys.objects AS o 
JOIN sys.columns AS c  ON o.object_id = c.object_id
WHERE o.name = 'Vendor'
ORDER BY col_name;
GO

以下に結果セットを示します。

obj_name  col_name                 type_name
--------- -----------------------  -------------------
Vendor    AccountNumber            AccountNumber
Vendor    ActiveFlag               Flag
Vendor    CreditRating             tinyint
Vendor    ModifiedDate             datetime
Vendor    Name                     Name
Vendor    PreferredVendorStatus    Flag
Vendor    PurchasingWebServiceURL  nvarchar
Vendor    VendorID                 int
(8 row(s) affected)

参照

関連項目

TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
メタデータ関数 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

追加内容 :
  • 「例外」を追加。