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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/qwr1571437338192.ditamap
dita:ditavalPath
ja-JP/qwr1571437338192.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の関数名が呼び出されます。