Перейти к содержанию
TextArray
100% локально

Форматировщик SQL

Форматируйте SQL-запросы так, чтобы каждое предложение было в отдельной строке, с одинаковыми отступами и ключевыми словами в верхнем регистре.

Входные данные
Выходные данные

Форматировщик SQL

Вставьте любой SQL-запрос и верните его в читаемый вид: SELECT, FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY и другие основные предложения начинают свою собственную строку, условия AND и OR продолжают располагаться под ними, и каждый столбец в списке выбора может располагаться на отдельной строке. Выберите два пробела, четыре пробела или табуляцию для отступа и выберите, будут ли ключевые слова в верхнем регистре — классическая капитализация SELECT/FROM/WHERE, которая делает структуру видимой с первого взгляда.

Форматер построен на реальном токенизаторе, а не на куче правил поиска и замены. Строковые литералы, такие как 'it''s', идентификаторы в кавычках в каждом стиле диалекта ("столбец", \`столбец\`, [столбец]) и оба стиля комментариев (-- строка и /* блок */) передаются побайтно, поэтому ключевое слово внутри строки никогда не затрагивается, а кавычка внутри комментария никогда не сбивает ее с толку. Меняются только пробелы и регистр ключевых слов — запрос, который вы получаете, означает именно то, что означал вставленный вами запрос.

Несколько операторов, разделенных точкой с запятой, распознаются и форматируются как отдельные блоки, что делает этот инструмент удобным для файлов миграции и начальных сценариев, а не только для отдельных запросов. Он честен в отношении своих ограничений: глубоко вложенные подзапросы остаются в строке своего предложения, а не переставляются с отступом, что делает результат предсказуемым для запросов, которые вы фактически отлаживаете изо дня в день.

Все выполняется локально в вашем браузере — запросы, содержащие имена таблиц, учетные данные или производственные данные, никогда не покидают ваш компьютер. Скопируйте результат или загрузите его в виде файла .txt, когда закончите.

FAQ

Изменит ли форматтер когда-нибудь то, что делает мой запрос?
Нет. Изменяются только пробелы и регистр ключевых слов. Строковые литералы, идентификаторы в кавычках, комментарии, числа и операторы передаются точно так, как записано, поэтому форматированный запрос семантически идентичен входным данным.
Как обрабатываются сложные вложенные подзапросы?
Это лучший форматтер. Предложения верхнего уровня получают свои собственные строки, но содержимое круглых скобок, включая подзапросы, остается встроенным в строку предложения. Ключевые слова внутри подзапросов по-прежнему пишутся заглавными буквами. Для глубоко вложенных запросов результат правильный, но не всегда с идеальным отступом.
Какие ключевые слова написаны заглавными буквами?
Ключевые слова предложений (SELECT, FROM, WHERE, варианты JOIN, GROUP BY, ORDER BY, INSERT INTO, UPDATE, DELETE FROM, CREATE TABLE и другие), логические операторы (AND, OR, NOT, IN, LIKE, BETWEEN) и общие типы столбцов. Имена функций, такие как count(), остаются в покое, и ничего внутри строк, идентификаторов в кавычках или комментариев не изменяется.
Могу ли я отформатировать несколько операторов одновременно?
Да. Операторы, разделенные точкой с запятой верхнего уровня, форматируются как отдельные блоки с пустой строкой между ними. Точки с запятой внутри строковых литералов игнорируются, как и должно быть.
Мой SQL где-нибудь загружен?
Нет. Инструмент полностью работает в вашем браузере, и ваши запросы никогда не покидают ваше устройство — это безопасно даже для SQL, который ссылается на рабочие схемы.