Как отформатировать SQL-запрос с отступами и заглавными ключевыми словами
Вставьте SQL-текст, задайте отступ и запустите форматирование. Инструмент переразметит запрос и переведёт ключевые слова в верхний регистр, но не выполнит SQL и не проверит результаты.
Что делает форматировщик SQL
SQL Formatter помогает привести уже написанный SQL-текст к более удобному для чтения виду: переразместить отступы и записать ключевые слова в верхнем регистре. Это полезно перед проверкой запроса, обсуждением изменений с коллегой или подготовкой фрагмента для документации. Инструмент форматирует переданный текст, а не выполняет SQL и не подключается к базе данных.
В поле ввода можно передать строку SQL. Параметр отступа задаёт количество пробелов для форматирования обычного непустого ввода. Дополнительно принимается значение диалекта, однако оно не включает отдельные правила разбора или оформления для конкретной СУБД. Поэтому результат стоит воспринимать как форматирование текста, а не как проверку совместимости запроса с выбранной базой.
Такое форматирование решает практическую задачу: быстро улучшить читаемость SQL-запроса, добавить понятные отступы и выделить ключевые слова верхним регистром без его выполнения.
Как отформатировать запрос
-
Подготовьте SQL-текст и вставьте его в поле ввода. Значение должно быть строкой. Если поле оставить пустым, по умолчанию используется пустое значение. Когда основной ввод пуст, непустой текст из устаревшего аргумента
sqlможет быть использован вместо него. -
Укажите отступ. По умолчанию используется значение 2. Для непустого SQL введённое значение сначала преобразуется в целое число. Если преобразование не удалось или полученное число меньше 0 либо больше 8, применяется значение 2. Другие преобразованные значения используются при форматировании. Для строки, состоящей только из пробелов, обработка завершается раньше: получается пустой результат, а это преобразование не выполняется.
-
При необходимости заполните поле диалекта. Такое значение принимается инструментом, но текущая реализация не применяет для него отдельные правила разбора или форматирования. Если вам нужен синтаксис конкретной СУБД, не считайте одно это поле проверкой диалекта.
-
Запустите форматирование и дождитесь результата. При успешном разборе ключевые слова SQL будут приведены к верхнему регистру, а текст получит переразметку отступов. Если передано несколько распознанных операторов, они соединяются точкой с запятой и переводом строки; в конце добавляется ещё одна точка с запятой.
-
Скопируйте результат в редактор или документацию и просмотрите его вручную. Сравните структуру
SELECT, условий, соединений и вложенных частей с исходником. Не используйте полученный текст как доказательство того, что запрос выполнится: форматировщик разбирает и оформляет SQL, но не выполняет его и не проверяет результаты запроса.
Для непустого ввода действует ограничение: размер SQL не должен превышать 1 000 000 байт в UTF-8. Пустой или состоящий только из пробелов ввод обрабатывается отдельно и даёт пустой отформатированный результат. Если строка не распознаётся, библиотека разбора SQL недоступна, операторы не обнаружены или во время обработки произошла ошибка, форматирование может завершиться неудачно.
Как читать результат и понимать ограничения
Успешный результат означает, что переданный текст прошёл путь разбора и форматирования. В нём можно ожидать более выраженную структуру отступов и ключевые слова в верхнем регистре. При нескольких операторах ориентируйтесь на разделение точкой с запятой и переводом строки, а также на завершающую точку с запятой.
Например, вставьте строку select id, name from users where active = 1, выберите отступ 4 и запустите обработку. Форма результата должна содержать те же основные части запроса в переразмеченном виде, ключевые слова SELECT, FROM и WHERE в верхнем регистре и завершающую точку с запятой. Числовое значение результата здесь не требуется: важно проверить структуру и удобство чтения.
Пустой ввод или строка из пробелов не свидетельствуют об ошибке: для такого случая предусмотрен пустой форматированный результат. Сообщение об ошибке после непустого ввода означает, что форматирование не завершилось успешно, но само по себе не указывает на конкретную причину. Возможные причины включают отсутствие распознанных операторов, недоступность библиотеки разбора или исключение при обработке.
Не делайте из результата вывод о корректности синтаксиса для конкретной СУБД, сохранении исходного текста во всех деталях или успешном выполнении запроса. Введённый диалект не меняет эти границы, поскольку отдельные диалектные правила текущим форматированием не применяются.
Практический пример
Разработчик приводит короткий запрос к единому читаемому виду перед передачей фрагмента в документацию.
Вставьте select id, name from users where active = 1, задайте отступ 4 и запустите форматирование.
После обработки видны переразмеченные части запроса, ключевые слова SELECT, FROM и WHERE записаны в верхнем регистре, а в конце стоит точка с запятой.
Ограничения
- Поле диалекта принимается, но отдельные правила конкретной СУБД не применяются; инструмент форматирует текст, а не выполняет запрос.
- Непустой ввод должен быть строкой размером не более 1 000 000 байт в UTF-8.
- Форматирование непустого текста может завершиться неудачно, если операторы не распознаны, библиотека разбора недоступна или возникла ошибка обработки.
Частые ошибки
- Причина: в поле передано не строковое значение или отступ выходит за диапазон от 0 до 8. Исправление: вставьте SQL как текст и укажите целое значение отступа; при ошибочном преобразовании или значении вне диапазона для непустого ввода будет использовано 2.
Частые вопросы
Выполняет ли SQL Formatter мой запрос?
Нет. Инструмент не выполняет SQL-запросы и не подключается к базе данных. Если передать непустой SQL-текст, он только переразметит отступы и запишет ключевые слова в верхнем регистре.
Меняет ли выбор диалекта правила форматирования?
Нет. Хотя поле диалекта принимается инструментом, текущая реализация не применяет отдельные правила разбора или форматирования для конкретной СУБД.
Что произойдёт с пустым или нераспознанным вводом?
Если ввод состоит только из пробелов, возвращается пустой форматированный результат. Для непустого ввода форматирование может завершиться неудачно, если операторы не распознаны или возникла ошибка обработки.
Есть ли ограничение на размер SQL?
Для непустого ввода размер SQL не должен превышать 1 000 000 байт в UTF-8. Значение, превышающее этот предел, отклоняется до форматирования.