17.00 - 17.05 - PERIOD型の引数によるオーバーロード関数の呼び出し - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

PERIOD(TIME(n))、PERIOD(TIME(n) WITH TIME ZONE)、PERIOD(TIMESTAMP(n))、またはPERIOD(TIMESTAMP(n) WITH TIME ZONE)パラメータ型(ただしnは精度を表わす)を有するオーバーロード関数を呼び出し、特定精度を示すPERIOD引数を渡す場合には、Teradata Databaseはこれらの手順を使って呼び出す関数を決定します。

  1. 関数のうちの1つが、対応する引数型および精度と同一であるパラメータ型および精度をもつ場合には、この関数を選択します。
  2. 引数(ソース)を関数のパラメータ(ターゲット)型に暗黙的に型変換することが可能であり、複数の関数が限定される場合には、以下に示す優先順位に従って関数を選択します。PERIODデータ型については、暗黙的型変換がこれらのケースに対応しています。
    ソース ターゲットTD 15.10 - CMS変換
    CHARまたはVARCHAR PERIOD(DATE)
    CHARまたはVARCHAR PERIOD(TIME[(n)])
    CHARまたはVARCHAR PERIOD(TIME[(n)] WITH TIME ZONE)
    CHARまたはVARCHAR PERIOD(TIMESTAMP[(n)])
    CHARまたはVARCHAR PERIOD(TIMESTAMP[(n)] WITH TIME ZONE)
    PERIOD(DATE) CHARまたはVARCHAR
    PERIOD(TIME[(n)]) CHARまたはVARCHAR
    PERIOD(TIME[(n)] WITH TIME ZONE) CHARまたはVARCHAR
    PERIOD(TIMESTAMP[(n)]) CHARまたはVARCHAR
    PERIOD(TIMESTAMP[(n)] WITH TIME ZONE) CHARまたはVARCHAR
    PERIOD(TIMESTAMP[(n)]) PERIOD(TIMESTAMP[(n)])
    PERIOD(TIMESTAMP[(n)]) PERIOD(TIMESTAMP[(n)] WITH TIME ZONE)
    PERIOD(TIMESTAMP[(n)] WITH TIME ZONE) PERIOD(TIMESTAMP[(n)] WITH TIME ZONE)
    PERIOD(TIMESTAMP[(n)] WITH TIME ZONE) PERIOD(TIMESTAMP[(n)])
    PERIOD(TIME[(n)]) PERIOD(TIME[(n)])
    PERIOD(TIME[(n)]) PERIOD(TIME[(n)] WITH TIME ZONE)
    PERIOD(TIME[(n)] WITH TIME ZONE) PERIOD(TIME[(n)] WITH TIME ZONE)
    PERIOD(TIME[(n)] WITH TIME ZONE) PERIOD(TIME[(n)])

    ソースとターゲットがともにPERIODデータ型である場合には、PERIOD型間で許可される暗黙的型変換に基づく優先順位は高い順に以下の通りです。

    ソース ターゲット
    PERIOD(TIME[(n)]) PERIOD(TIME[(n)])

    PERIOD(TIME[(n)] WITH TIME ZONE)

    PERIOD(TIME[(n)] WITH TIME ZONE) PERIOD(TIME[(n)] WITH TIME ZONE)

    PERIOD(TIME[(n)])

    PERIOD(TIMESTAMP[(n)]) PERIOD(TIMESTAMP[(n)])

    PERIOD(TIMESTAMP[(n)] WITH TIME ZONE)

    PERIOD(TIMESTAMP[(n)] WITH TIME ZONE) PERIOD(TIMESTAMP[(n)] WITH TIME ZONE)

    PERIOD(TIMESTAMP[(n)])

    ソースがCHARまたはVARCHARでターゲットがPERIOD型である場合は、優先順位は高い順に以下の通りです。

    ソース ターゲット
    CHARまたはVARCHAR PERIOD(TIMESTAMP[(n)] WITH TIME ZONE)

    PERIOD(TIMESTAMP[(n)])

    PERIOD(DATE)

    PERIOD(TIME[(n)] WITH TIME ZONE)

    PERIOD(TIME[(n)])

    ソースがPERIOD型でターゲットがCHARまたはVARCHARである場合は、優先順位は高い順に以下の通りです。

    ソース ターゲット
    いずれかのPERIODデータ型 CHAR

    VARCHAR

これらの優先順位ルールをオーバーライドする場合には、引数を必要とするパラメータ型に明示的に型変換する必要があります。