適用対象:
Databricks SQL
Databricks Runtime 10.4 LTS 以降
expr1 と expr2 の合計を返します。エラーが発生した場合は NULL を返します。
構文
try_add ( expr1 , expr2 )
この関数は、 句を使用して OVERとして呼び出すこともできます。
引数
-
expr1: DATE、TIMESTAMP、または INTERVAL の数値式。 -
expr2:expr1が数値である場合、expr2は数値式である必要があります。それ以外の場合は、INTERVAL である必要があります。
戻り値
-
expr1が数値である場合は、引数の共通最大型です。 -
expr1が DATE であり、expr2が日付と時刻の間隔である場合、結果は TIMESTAMP です。 -
expr1とexpr2が年月の間隔の場合、結果は、結果を表すために十分に広い単位の 1 か月の間隔になります。 -
expr1とexpr2が日付と時刻の間隔である場合、結果は、結果を表すための十分に幅広い単位での日付と時刻の間隔です。 - それ以外の場合、結果の型は、
expr1と一致します。
両方の式が間隔である場合、それらは同じクラスである必要があります。
結果がオーバーフローした場合、結果の型 Databricks SQL は NULL を返します。
年月の間隔を DATE に追加すると、Databricks SQL によって、結果の日付が整形式であることが保証されます。
例
> SELECT try_add(1, 2);
3
> SELECT try_add(DATE'2021-03-20', INTERVAL '2' MONTH);
2021-5-20
> SELECT try_add(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
2021-03-20 12:15:32
> SELECT typeof(try_add(INTERVAL '3' DAY, INTERVAL '2' HOUR));
interval day to hour
> SELECT try_add(DATE'2021-03-31', INTERVAL '1' MONTH);
2021-04-30
> SELECT try_add(127Y, 1Y);
NULL