SQL文がUDFの引数としてNULLを渡したときにTeradata DatabaseがJavaメソッドを呼び出すかどうかを指定するため、CREATE FUNCTION文またはREPLACE FUNCTION文にRETURNS NULL ON NULL INPUT句またはCALLED ON NULL INPUT句を入れることができます。
入力引数がNULLキーワードの場合の、対応するCREATE FUNCTION文の指定内容 | 結果 |
---|---|
RETURNS NULL ON NULL INPUT | メソッドは評価されず、結果は常にNULLになります。 |
CALLED ON NULL INPUT | メソッドにはNULL入力引数が渡されます。 |
いずれの句も指定しない |
NULLリテラルを入力引数として適切に処理するため、CREATE FUNCTION文またはREPLACE FUNCTION文のパラメータ リストのSQLデータ型がJavaプリミティブにマッピングされる場合は、Java UDFではデフォルトのマッピング規則を使用できません。
デフォルトのマッピングを上書きし、NULLリテラルを入力引数として処理できるJavaクラスにSQLデータ型をマッピングするには、CREATE FUNCTION文またはREPLACE FUNCTION文のEXTERNAL NAME句において、Javaメソッドのパラメータ リストのマッピングを明示的に指定する必要があります。
SQLデータ型がJavaデータ型にマッピングされる仕組みについては、SQLデータ型のマッピングを参照してください。デフォルトのマッピングを上書きする例については、例: NULLを扱うためのデフォルトのパラメータ マッピングの上書きを参照してください。