コンテンツへスキップ

BigQueryフォーマッター

アナリストやデータエンジニアがクエリを確認しやすいよう、Google BigQuery Standard SQLをBigQueryのルールに従って整形します。バッククォートで囲まれたproject.dataset.table名、三重引用符やraw文字列、#コメント、@queryパラメーターに対応しています。QUALIFYは独立した行に配置し、SELECT * EXCEPTとREPLACEは同じ行に保ち、ウィンドウ句をインデントします。閉じていない文字列、コメント、括弧は、行と列を示して報告します。

リセット

よくある質問

どのようなBigQuery構文に対応していますか?

`project.dataset.table`のようなバッククォートで囲まれた名前、バックスラッシュエスケープを含む単一引用符や二重引用符の文字列、三重引用符の文字列、raw文字列のr''とバイト列のb''接頭辞を認識します。@namedパラメーターと@@system変数は入力どおりに保持されます。

フォーマッターはハッシュコメント(#)を保持しますか?

はい。BigQueryでは#コメントに加えて、--コメントと/* */コメントも使用できます。いずれも位置を保ちます。

QUALIFYはどのように処理されますか?

QUALIFYはWHEREやHAVINGと同様に独立した行に配置されます。フィルター条件はその下にインデントされます。

SELECT * EXCEPTとREPLACEはどうなりますか?

EXCEPTまたはREPLACEがアスタリスクの後に続く場合は、アスタリスクと同じ行に保持されます。これにより、SELECT * EXCEPT (col)がEXCEPT集合演算子と誤認されるのを防ぎます。

配列と構造体はそのまま保持されますか?

はい。arr[OFFSET(0)]のような配列の添字は入力どおりに保持され、STRUCTとARRAYのコンストラクターは他の関数呼び出しと同様に整形されます。

ウィンドウ関数はどのように配置されますか?

長いOVER句はインデントされたブロックになり、PARTITION BYとORDER BYはそれぞれ独立した行に配置されます。短い句は同じ行に保たれます。

キーワードの大文字と小文字は変わりますか?

いいえ。キーワード、関数、名前の大文字・小文字は入力時のまま保持されます。変更されるのは空白と改行だけです。

どのようなエラーが検出されますか?

閉じていない文字列、三重引用符付き文字列、バッククォートで囲まれた名前、ブロックコメント、対応していない括弧を、行番号と列番号とともに報告します。クエリはBigQueryに送信されず、費用もかかりません。

入力の最大サイズはどれくらいですか?

1リクエストあたり最大1 MB、1ステートメントあたり最大128 KBです。ステートメントが多いスクリプトは、1つずつフォーマットされます。

インデントを選択できますか?クエリは保存されますか?

スペース2個または4個、あるいはタブを使用できます。クエリはメモリ上でのみフォーマットされ、保存されません。

OneClick Proについて

OneClick Proは、日々の作業に役立つ150以上のウェブツールを集めた無料コレクションです。画像や単位の変換、コードの整形と検証、ドメインやSEOの確認、テキスト、日付、数値の処理などに利用できます。すべてのツールは登録やサブスクリプションなしで使えます。入力した内容は結果の計算にのみ使用され、保存されることはありません。単発の作業に使える便利なツールボックスとして、または毎日使うツールをブックマークしてご活用ください。