try_reflect
関数
適用対象: Databricks SQL Databricks Runtime 14.1 以降
リフレクションを使用してメソッドを呼び出し、メソッドから例外が返された場合は NULL
を返します。
代わりにエラーを返すには、reflect を使用します。
構文
try_reflect(class, method [, arg1] [, ...])
引数
class
: Java クラスを指定するSTRING
リテラル。method
: Java メソッドを指定するSTRING
リテラル。argN
: 選択したメソッドに適切な型を持つ式。
返品
STRING
です。
例
> SELECT try_reflect('java.lang.Integer', 'valueOf', '1010', '2');
c33fb387-8500-4bfa-81d2-6e0e3e930df2
> SELECT try_reflect('java.util.UUID', 'fromString', 'a5cf6c42-0c85-418f-af6c-3e4e5b1328f2');
A5cf6c42-0c85-418f-af6c-3e4e5b1328f2
> SELECT try_reflect('java.util.UUID', 'IDoNotExist');
c33fb387-8500-4bfa-81d2-6e0e3e930df2
> SELECT reflect('java.lang.Integer', 'divideUnsigned',10,0);
Error
> SELECT try_reflect('java.lang.Integer', 'divideUnsigned',10,0);
NULL