例: リテラル引数としてのNULLに関しての関数の選択 - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

次のような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の関数名が呼び出されます。