# Форматировщик BigQuery

Форматируйте Google BigQuery Standard SQL по правилам BigQuery: имена в обратных кавычках project.dataset.table, строки в тройных кавычках и необработанные строки, комментарии # и параметры @query. QUALIFY размещается на отдельной строке, SELECT * EXCEPT и REPLACE остаются в строке, а предложения оконных функций получают отступы. Незакрытые строки, комментарии и скобки отмечаются с указанием строки и столбца, что помогает аналитикам и инженерам данных проверять запросы.

## Часто задаваемые вопросы

### Какой синтаксис BigQuery распознается?

Распознаются имена в обратных кавычках, например `project.dataset.table`, строки в одинарных и двойных кавычках с экранированием обратной косой чертой, строки в тройных кавычках и префиксы необработанных строк 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 МБ на запрос и 128 КБ на инструкцию. Скрипты с большим количеством инструкций форматируются по одной инструкции за раз.

### Можно ли выбрать отступы и сохраняется ли мой запрос?

Используйте 2 или 4 пробела либо табуляцию. Запрос форматируется только в памяти и никогда не сохраняется.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
