Форматирование SQL
Превращает SQL-запрос в одну строку в аккуратный код с отступами
Загрузка инструмента…
Разбивает длинный SQL-запрос в одну строку на строки и делает отступ для каждой части, чтобы его было легко читать, или сжимает отформатированный SQL обратно в одну строку. Пригодится, чтобы разобрать запрос из лога или кода либо вставить его в документацию.
Как пользоваться
- Вставьте запрос в поле «Исходный SQL» или нажмите «Открыть файл», чтобы загрузить файл .sql. Можно вставить сразу несколько операторов.
- Выберите свою СУБД в поле «Диалект SQL». Если не уверены, оставьте «Стандартный SQL».
- Настройте «Ключевые слова», «Отступ», «Запятые» и «Ширина строки» — «Результат» меняется сразу.
- Скопируйте результат или нажмите «Сохранить как .sql». Чтобы получить одну строку, переключите «Режим» на «В одну строку».
Как это работает
- Форматирование выполняет библиотека sql-formatter (лицензия MIT); доступно 20 диалектов, в том числе MySQL, PostgreSQL, SQL Server, Oracle PL/SQL, SQLite и BigQuery.
- Меняются только пробелы, переносы строк и регистр ключевых слов; текст в кавычках и комментарии остаются как есть. В режиме «В одну строку» комментарии -- превращаются в комментарии /* */, чтобы запрос продолжал работать.
- Ваш SQL обрабатывается только в этом браузере. Он никогда не выполняется и не отправляется на сервер. Файлы больше 20 МБ открыть нельзя.
Частые вопросы
- Меняет ли форматирование SQL то, что делает запрос?
- Нет. Меняются только пробелы, переносы строк и регистр ключевых слов; значения в кавычках и комментарии остаются прежними. Чтобы сохранить ключевые слова в том виде, как вы их написали, установите для «Ключевые слова» значение «Как введено».
- Почему появляется «Не удалось отформатировать»?
- Поищите незакрытую кавычку или скобку рядом с отмеченным местом. Некоторый синтаксис требует нужного диалекта: имена в квадратных скобках — SQL Server, приведения типов через :: — PostgreSQL. Режим «В одну строку» работает с любым текстом.
- Можно ли ставить запятые в начале строки?
- Да. Установите для «Запятые» значение «В начале строки», и запятые в списках, например в столбцах SELECT, переместятся в начало каждой строки.
- Почему список в скобках остаётся в одной строке?
- Списки в скобках короче значения «Ширина строки» (по умолчанию 50 символов) остаются в одной строке. Уменьшите значение, чтобы разбивалось больше списков.