9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

BigQueryでなんか知らんけどクエリが走らんと言われた

Posted at

こんにちは。バンです。

皆さん BigQuery 使ってますか??僕は使ってますよ

BigQuery 使う上での小ネタシリーズです

まあBigQueryに限った話ではないのですが。。

問題

sample.dataset.table というテーブルがあったときに、下記のクエリを走らせると

SELECT following
from `sample.dataset.table`

こんなエラーが出ます

Syntax error: Expected end of input but got keyword FOLLOWING at [xxxx]

何が悪いかわかりますか?というやつです。

答え

小ネタはあっさりが信条ですのであっさり答えを言うと、

FOLLOWING が BigQuery においては 予約語 です。

予約語とは

AND とか、 SELECT のように予め特殊な意味を持つ言葉として定められているものです。python なら if とか。

ちなみに BigQuery の予約語一覧は下記で確認できます!
BigQuery の予約語リスト

でも予約語をカラム名にしちゃった…

困りますね。こういうときは `(Backtick) で囲えばOKです。(ちなみにLegacyのときは[]でした。)

なので、修正するなら下記のように。

SELECT `following`
from `sample.dataset.table`

ただ、これで囲うとBigQueryのGUI上でシンタックスハイライトがちゃんと効いて色が変わらないのでちょっと不安になりますが、普通に動きます。

本当はそこらへんの感覚をもってカラム名を設定してほしいですがまあ、どうしようもないときもあるでしょうというところで…

いとめでたし。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?