👓
BQのstandardSQLで変数利用
目的
bigqueryのstandardSQL内で変数を利用したい。
方法
「declare」か「関数」の2つで実現できる。
「関数」は変数というよりは定数といった感じの使用感。
declare
2019年から実装された機能。
PL/SQLとかのdeclareと同じ感じで使用できる。
日付
declare ymd_year date;
set ymd_year = date("2021-07-15");
以下のようにselectしてみると代入値が取得できる。
もちろんwhere句等の条件にも使える。
select ymd_year as AAA;
整数値
declare num int64;
set num = 100;
文字列
declare str string;
set str = "string";
複数指定代入
declare num int64;
declare str string;
set (num, str) = (100, "string");
declareの詳細は公式参照
関数
以下のように関数化することで定数のように利用することもできる。
declareが存在するので今はあまり使わないかも。
create temporary function getNum() as (100);
データセット名やテーブル名に変数を利用したい場合
以下の記事を追加しました。
chameleonmeme.com/ きっかけは、偶然同じ現場で働いていたエンジニア3人の 「もっと仕事にのめり込んだり、熱中したいよね」という雑談でした。 営業から開発、サービスの提供まですべての工程を自分たちの手で行い、 気の合う仲間と楽しく仕事をすることで熱中するためにチームをスタートしました。
Discussion