17.00 - 17.05 - 例: リテラル引数としてのNULLに関しての関数の選択 - 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
日本語 (日本)

次のようなExtrapolate関数群と、CREATE FUNCTION文のSPECIFIC句で指定された対応する特定名があるとします。

関数の名前とパラメータ 特定名
Extrapolate(a INTEGER, b INTEGER, c INTEGER) S1
Extrapolate(a VARCHAR(20), b VARCHAR(20), c VARCHAR(20)) S2

リテラル引数としてNULLを指定して関数を呼び出した場合、その結果は次のテーブルに示すようになります。

関数呼び出し Teradata Databaseの動作
SELECT Extrapolate(3, NULL, 9);
特定名S1の関数名が呼び出されます。
SELECT Extrapolate('Ver', NULL, '*.*');
特定名S2の関数名が呼び出されます。
SELECT Extrapolate(NULL, NULL, NULL);
エラーが返されます。
SELECT Extrapolate(CAST(NULL AS INTEGER), NULL, NULL);
特定名S1の関数名が呼び出されます。