Об этом инструменте
Форматировщик SQL нормализует пробелы, отступы и регистр ключевых слов запроса, не меняя того, что он делает. Он разбирает ваш SQL на токены и заново выдаёт их с согласованными переносами строк и отступом в два пробела, так что предложения вроде SELECT, JOIN, WHERE и GROUP BY выстраиваются предсказуемо. Этот инструмент поддерживает стандартный SQL плюс правила, специфичные для диалектов PostgreSQL, MySQL, SQLite, BigQuery, Snowflake и SQL Server, и позволяет принудительно приводить ключевые слова к UPPER, lower или сохранять их исходный регистр.
Используйте инструмент, чтобы привести в порядок однострочный запрос, скопированный из журнала ORM, сделать плотную сгенерированную инструкцию пригодной для просмотра в pull request или унифицировать регистр в SQL-файлах команды. Кнопка Minify делает обратное — она сворачивает отформатированный запрос обратно в одну строку и удаляет комментарии, оставляя нетронутым содержимое строк в кавычках — что удобно для вставки компактного запроса в значение конфигурации или строку кода.
Форматирование лишь переупорядочивает пробелы и регистр — оно никогда не проверяет, что ваш запрос корректен относительно реальной схемы, и минификация намеренно сохраняет пробелы внутри строковых литералов в кавычках.
Часто задаваемые вопросы
Какие диалекты SQL поддерживает этот форматировщик?
Он поддерживает стандартный SQL, PostgreSQL, MySQL, SQLite, BigQuery, Snowflake и SQL Server (Transact-SQL). Каждый диалект применяет собственные правила ключевых слов и синтаксиса, чтобы вывод соответствовал соглашениям этого движка.
Меняет ли форматирование то, что делает мой SQL-запрос?
Нет. Форматирование корректирует только пробелы, отступы и регистр ключевых слов — токены и логика запроса остаются неизменными, поэтому отформатированный запрос выполняется идентично оригиналу.
Удаляет ли минификация SQL пробелы внутри моих строковых значений?
Нет. Минификация сворачивает пробелы и удаляет комментарии только за пределами строк в кавычках, так что литерал вроде 'a b' сохраняет свои внутренние пробелы, а встроенный текст, похожий на комментарий, остаётся нетронутым.