Запрос
Читаемый вид
Что здесь важно знать
Запрос одной строкой обычно приходит из лога медленных запросов, из APM с подставленными параметрами, из лога приложения или из кода. Вставьте его как есть; кнопка «Пример» подставляет учебный.
Зачем диалект. Запрос с квадратными скобками [user] — это SQL Server, с обратными кавычками `user` — MySQL, с ::-приведением типов — PostgreSQL. Форматтер, читающий текст не тем диалектом, спотыкается о такие места. Если не знаете, чей запрос, — начните со «Стандарт»: на обычных SELECT-ах разницы не будет.
Форматирование ничего не меняет в смысле запроса. Меняются только пробелы, переносы и регистр ключевых слов. Значения, имена таблиц и колонок остаются как были — их регистр в ряде баз значим, и трогать его инструмент не имеет права.
Если инструмент говорит «не разобрал» — чаще всего в тексте не SQL целиком, а SQL, перемешанный с логом: временные метки в начале строк, «Executing query:», обрезанный хвост. Вычистите обвязку и оставьте сам запрос. Вторая частая причина — параметры-плейсхолдеры чужого синтаксиса; попробуйте другой диалект.
Подсветки синтаксиса здесь нет — сознательное решение: цвета добавили бы немного удобства и много ошибок на пяти диалектах. Отступы и ЗАГЛАВНЫЕ ключевые слова дают читаемость сами по себе.
Частые вопросы
Запрос куда-то отправляется?
Нет, форматирует библиотека sql-formatter, лежащая на этом же сайте, в браузере. Работает и офлайн.
Зачем выбирать диалект?
Квадратные скобки [user] — это SQL Server, обратные кавычки — MySQL, ::-приведение типов — PostgreSQL. Чужим диалектом такой запрос не разберётся. Не знаете, чей запрос, — начните со «Стандарта».
Почему нет подсветки синтаксиса?
Сознательное решение: цвета на пяти диалектах добавили бы немного удобства и много ошибок на краях. Отступы и регистр ключевых слов дают читаемость сами по себе.