Форматирование SQL онлайн: оформление SQL-запросов
Вставьте SQL-запрос, выберите диалект, и отформатированный запрос появится по мере набора. Всё происходит в вашем браузере: запрос никуда не отправляется и не сохраняется. Страница запоминает только ваш выбор.
Параметры
Форматирование SQL онлайн: оформление и украшение SQL-запросов
Этот форматировщик SQL делает любой запрос читаемым одним щелчком: добавляет отступы и переводы строк, помещает каждое предложение и каждый столбец на отдельную строку и выравнивает вложенные запросы. Вставьте запрос, выберите диалект, и результат появится сразу. Форматировщик работает в вашем браузере, поэтому запрос не отправляется на сервер, и знает синтаксис MySQL, PostgreSQL, SQL Server (T-SQL), Oracle, SQLite, BigQuery, ClickHouse и других баз данных.
- 16 диалектов: от стандартного SQL до MySQL, MariaDB, PostgreSQL, SQL Server, Oracle PL/SQL, SQLite, BigQuery, Snowflake, Redshift, ClickHouse, Db2, DuckDB, Trino, Spark SQL и Hive.
- Вид запроса выбираете вы: отступ в 2 или 4 пробела либо табуляция, ключевые слова в верхнем регистре, нижнем или как вы их написали, раскладка с выровненными столбцами, AND и OR в начале или в конце строки, ширина коротких выражений.
- Сделать одной строкой, чтобы поместить запрос в лог, конфигурацию, строку кода или сообщение в чате: пробелы схлопываются, а комментарии удаляются, но строки, имена в кавычках и исполняемые комментарии MySQL остаются как есть.
- Копирование в один клик, перетаскивание файла
.sqlв поле и сообщение о том, что синтаксис не распознан.
Как отформатировать SQL-запрос
- Вставьте запрос в левое поле или нажмите на один из примеров.
- Выберите диалект своей базы данных в параметрах. Это важно:
[name]в SQL Server, обратные кавычки в MySQL, тела$$в PostgreSQL иFORMATв ClickHouse — разные вещи. - Заберите результат из правого поля кнопкой «Копировать». Страница запоминает ваши параметры до следующего раза.
Зачем форматировать SQL
- Чтение и отладка. Запрос, скопированный из лога, из отладочного вывода ORM или из тикета, часто приходит одной длинной строкой. После форматирования видны соединения, условия и вложенность.
- Ревью кода и diff. Один столбец или одно условие на строку дают чистый diff: изменение одного условия — это изменение одной строки.
- Единый стиль. Одинаковые ключевые слова в верхнем регистре и одинаковые отступы во всей команде, без споров о настройках редактора.
- Обучение. Хорошо отформатированный запрос показывает порядок предложений: SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY.
SQL Server (T-SQL) и Poor Man's T-SQL Formatter
Выберите «SQL Server (T-SQL)» для запроса с квадратными скобками, TOP, CROSS APPLY, FORMAT() и другими формами Microsoft SQL Server. Poor Man's T-SQL Formatter — бесплатный форматировщик с открытым кодом с плагином для SSMS и Visual Studio, версией для командной строки и онлайн-сервисом; эта страница делает похожую работу для одного запроса, в вашем браузере, с диалектом SQL Server.
Как форматировать дату, время, число и строку в SQL
В SQL слово «формат» означает ещё и форматирование значения, а не запроса. В каждой базе данных функции свои:
- SQL Server (MS SQL):
CONVERT(varchar(10), GETDATE(), 23)даёт дату какyyyy-mm-dd. Другие частые стили: 120 —yyyy-mm-dd hh:mi:ss(24-часовой), 112 —yyyymmdd, 104 —dd.mm.yyyy, 101 —mm/dd/yyyy.FORMAT(GETDATE(), 'yyyy-MM-dd')принимает строку формата .NET и культуру, аFORMAT(1234567.89, 'N2')даёт число с разделителями тысяч и двумя десятичными знаками (1,234,567.89в культуре en-US). Microsoft рекомендует CAST или CONVERT для общих преобразований типов данных иFORMATдля форматирования с учётом локали;FORMATтребует .NET CLR. - MySQL и MariaDB:
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')для даты и времени,TIME_FORMAT(NOW(), '%H:%i')для времени,FORMAT(1234567.891, 2)для числа. - PostgreSQL:
TO_CHAR(now(), 'YYYY-MM-DD HH24:MI:SS')для даты и времени,TO_CHAR(1234567.891, 'FM9,999,999.00')для числа (9— цифра, которая может быть опущена,0— цифра, которая показывается всегда, запятая — разделитель групп,FMубирает выравнивание). Строку со значениями собирает функцияformat('Hello %s', 'World'). - SQLite:
strftime('%Y-%m-%d', 'now'). - ClickHouse:
formatDateTime(now(), '%Y-%m-%d')для даты. КомандаFORMATв конце запроса задаёт формат всего ответа:SELECT * FROM t FORMAT JSON,FORMAT CSVилиFORMAT Pretty.
Полезно знать
- Форматирование меняет только раскладку запроса (пробелы и переводы строк, а также регистр ключевых слов, если вы его выберете). Строки и имена не затрагиваются.
- Инструмент не выполняет запрос и не проверяет его по вашей базе данных. Если он сообщает, что синтаксис не распознан, в запросе может быть ошибка (не закрыта скобка или кавычка) или он использует редкую возможность другого диалекта: выберите правильный диалект и повторите.
- «Сделать одной строкой» удаляет комментарии, потому что комментарий с
--поглотил бы остаток однострочного запроса. - Лимит — 500 000 знаков. Запрос форматируется в вашем браузере и не сохраняется.
Похожие инструменты
Для других форматов используйте форматирование и валидатор JSON и минификатор HTML и CSS. Чтобы изменить регистр имён, например с userName на user_name, используйте конвертер регистра, а чтобы отсортировать список значений или удалить дубликаты, — сортировку и перемешивание строк.
Похожие инструменты
Форматируйте, минифицируйте и проверяйте JSON онлайн. Откройте файл, найдите строку и столбец ошибки, скачайте результат. Всё в браузере.
Минификатор HTML и CSS онлайн: удаляет комментарии, пробелы и переводы строк, показывает экономию в байтах. Безопасен для строк и URL. В браузере.
Быстро меняйте регистр текста: нижний, верхний, camelCase, Kebab-case, snake_case и другие. Бесплатный конвертер регистра DIEG онлайн.
Сортировка строк А-Я, Я-А или по числу, разворот текста, перемешивание, случайные строки, удаление дубликатов, списки из имён файлов. В браузере.
Популярные инструменты
Узнайте, где размещён сайт: IP-адрес, хостинг-компания (ASN), страна и город сервера. Бесплатная проверка хостинга для любого домена.
Бесплатный IP Lookup: страна, город, координаты и часовой пояс IP-адреса, а также имя хоста через обратный DNS (reverse IP). IPv4 и IPv6.
DNS lookup онлайн: A, AAAA, CNAME, MX, NS, TXT, SOA и CAA записи любого домена и его SSL-сертификат. Узнайте, почему не срабатывает DNS lookup.
Проверьте из США (Нью-Йорк), доступен ли сайт: код ответа HTTP и время ответа в миллисекундах. Бесплатный пинг из США для любого URL.