スポンサーリンク

【Snowflake】便利な関数10選

記事内に広告が含まれています。

Snowflakeを使っていて便利だと思った関数を10個挙げてみます。

ARRAY_AGG

複数の行を配列に集約する。

SQL例

SELECT ARRAY_AGG(column_name) AS aggregated_array FROM table_name;

DATE_TRUNC

日付/時間の特定の部分(年、月、日など)で切り捨てる。

SQL例

SELECT DATE_TRUNC('month', CURRENT_DATE) AS truncated_date;

TO_DATE

文字列を日付型に変換する。

SQL例

SELECT TO_DATE('2024-06-06', 'YYYY-MM-DD') AS date_value;

IFF

条件に基づいて値を返す(IF文の簡易版)。

SQL例

SELECT IFF(condition, 'True Value', 'False Value') AS result;

COALESCE

NULLでない最初の値を返す。

SQL例

SELECT COALESCE(column1, column2, 'default_value') AS result;

TRY_CAST

型変換を試み、失敗した場合はNULLを返す。

SQL例

SELECT TRY_CAST(column_name AS INTEGER) AS casted_value;

LISTAGG

複数の行を一つの文字列に連結する。

SQL例

SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) AS concatenated_string FROM table_name;

RANK

順位を付ける分析関数。

SQL例

SELECT column_name, RANK() OVER (PARTITION BY category_column ORDER BY value_column DESC) AS rank FROM table_name;

PIVOT

行を列に変換する。

SQL例

SELECT * FROM table_name PIVOT (SUM(value_column) FOR pivot_column IN ('value1', 'value2', 'value3'));

UNPIVOT

列を行に変換する。

SQL例

SELECT * FROM table_name UNPIVOT (unpivot_column FOR column_name IN (value1, value2, value3));

タイトルとURLをコピーしました