共用方式為


try_reflect函式

適用於: 核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 14.1 和更新版本

呼叫具有反映的方法,如果方法傳回例外狀況,則傳 NULL 回 。

若要傳回錯誤,請改用 反映

語法

try_reflect(class, method [, arg1] [, ...])

引數

  • classSTRING:指定 java 類別的常值。
  • methodSTRING:指定 java 方法的常值。
  • 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