次の方法で共有


try_reflect 関数

適用対象: check marked yes 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