16.20 - UDT_name - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)

キャストに関する情報が要求されるUDTの名前。

SOURCEまたはTARGETを指定しない場合、両方が報告されます。

SYSUDTLIB
UDT_nameを含むデータベース。
SOURCE
指定したデータ型をソース データ型として持つすべてのキャスト操作を報告します。
TARGET
指定したデータ型をターゲット データ型として持つすべてのキャスト操作を報告します。

例: ソース キャストのみ

以下に、euroというUDTに対してソース キャストを実行して返されるレポートの例を示します。

     HELP CAST SYSUDTLIB.euro SOURCE;
Source    Target         Cast Routine         As Assignment
---------------------------------------------------------------------
euro      DECIMAL(10,2)  System                   YES
euro      us_dollar      EurotoUS                 NO

例: ターゲット キャストのみ

以下に、euroというUDTに対して次のターゲット キャストを実行して返されるレポートの例を示します。

     HELP CAST SYSUDTLIB.euro TARGET;
Source         Target         Cast Routine           As Assignment
----------------------------------------------------------------------
DECIMAL(10,2)  euro           System                     YES
us_dollar      euro           UstoEuro                   YES

例: 複数のキャスト対を持つUDTに対する全キャスト

次の例は、オプションを指定せずに実行したHELP CAST euroの出力を示しています。

     HELP CAST euro;
Source         Target         Cast Routine           As Assignment
----------------------------------------------------------------------
euro           DECIMAL(10,2)  System                     YES
DECIMAL(10,2)  euro           System                     YES
us_dollar      euro           UstoEuro                   YES
euro           us_dollar      EurotoUS                   NO

このレポートについては、以下の点に注意が必要です。

  • このUDTには2つのキャスト対(euro:DECIMALeuro:us_dollar)があるので、レポートは4行になります。
  • euro:DECIMALのキャスト対はシステム生成でしたが(どちらのキャスト ルーチンにもSystemという名前が付いている)、euro:us_dollarのキャスト対はユーザー定義でした。
  • euro:us_dollarのキャストの定義にAS ASSIGNMENTオプションが指定されていないため、このキャストの暗黙キャストはありません。

例: 1組のキャスト対を持つUDTに対する全キャスト

以下に、addressというUDTに対してソース キャストとターゲット キャストの両方を実行して返されるレポートの例を示します。

     HELP CAST address;
Source       Target           Cast Routine           As Assignment
----------------------------------------------------------------------
address      VARCHAR(80)      address_2_char             YES
VARCHAR(80)  address          char_2_address             YES

このレポートについては、以下の点に注意が必要です。

  • addressからVARCHAR(80)へのキャストと、VARCHAR(80)からaddressへのキャストは、相互に補完関係にあります。
  • いずれのキャストもユーザー定義のルーチンです。どちらの名前にもSystemが付いていないからです。
  • このUDTには1組のキャストのみが定義されていますが、そのどちらにもSystemという名前が付いていないので、このUDTはおそらくSTRUCTURED型であると思われます。

    STRUCTURED型へのキャストはシステム生成ではなく、システムではDISTINCT型に対してデフォルトのキャストを生成します。DISTINCT型UDTに対するシステム生成のキャストを削除したり、それをユーザー定義のキャストで置き換えることも可能なので、この例で報告されているキャストがSTRUCTURED型UDTに対するものであると断定することはできません。「CREATE CASTおよびREPLACE CAST」を参照してください。