Utilo

Форматирование SQL и конвертер диалектов

Приводите SQL-запросы в порядок и конвертируйте синтаксис между MySQL, PostgreSQL, SQLite и SQL Server: кавычки идентификаторов, LIMIT/TOP/OFFSET, автоинкремент, типы данных и распространённые функции.

Что делает этот форматировщик SQL

Этот инструмент выполняет две задачи. Во-первых, он форматирует SQL: один пункт на строку, последовательная вставка, буквы больших или малых ключевых слов и читаемые блоки JOIN и CASE, используя проверенный в бою двигатель sql-formatter с диалектом. Во-вторых, он выполняет ** базовую конверсию диалектов ** между MySQL, PostgreSQL, SQLite и SQL Server, обрабатывая различия, которые чаще всего встречаются при перемещении запроса или схемы между базами данных. Все работает локально, поэтому производственные запросы, содержащие реальные названия таблиц, никогда не покидают ваш браузер.

Как пользоваться

  1. Вставь SQL в вход.
  2. Выберите ** источник диалекта ** и, если вы хотите конвертировать, ** целевой диалект **. Оставьте цель как "держать" только формат.
  3. Выберите ключевое слово и ширину отступления.
  4. Проверьте панель заметок: все, что преобразователь не смог перевести безопасно, перечислено там.
  5. Копирую результат.

Что обрабатывает конвертер

  • Идентификатор с цитатами: `name` (MySQL) ↔ "name" (PostgreSQL/SQLite) ↔ [name] (SQL Server).
  • Ограничения строки: LIMIT n OFFSET m TOP n OFFSET m ROWS FETCH NEXT n ROWS ONLY.
  • Авто-увеличение: AUTO_INCREMENT SERIAL/GENERATED ... AS IDENTITY AUTOINCREMENT IDENTITY(1,1).
  • Обычные типы: DATETIME/TIMESTAMP, TINYINT(1)/BOOLEAN/BIT, NVARCHAR, TEXT, BLOB/BYTEA/VARBINARY(MAX).
  • Функции: NOW()/GETDATE()/CURRENT_TIMESTAMP, IFNULL/ISNULL/COALESCE, RAND()/RANDOM(), CONCAT ||.
  • Литералы строки и комментарии защищены, поэтому ключевое слово внутри 'quotes' никогда не переписывается.

Ограничения

Конверсия диалектов основана на шаблонах, а не полный компилятор. Храненные процедуры, триггеры, специфические для поставщика функции (чуда рамки окна, операторы JSON, MERGE, ON DUPLICATE KEY и ON CONFLICT) и детали сортировки требуют ручного обзора. Обращайтесь с выходом как с сильным первым проектом и проверьте его против целевой базы данных.

Частые вопросы

Форматирование меняет то, что делает мой запрос?

Нет, нет, нет. Форматирование меняет только пробелы и ключевые слова. Идентификаторы и литералы не тронуты.

Могу ли я отформатировать несколько заявлений?
  • Да, это так. Отделить их запятой и точкой, и каждое утверждение будет форматировано самостоятельно.
Почему мой запрос не конвертируется полностью?

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

Мой SQL загружен?

Нет, нет, нет. Форматирование и конвертация выполняются полностью в вашем браузере.

Да. Вся обработка происходит прямо в вашем браузере с помощью JavaScript, Web Workers и веб-API. Ничего из того, что вы вводите, вставляете или загружаете, не отправляется на наши серверы.

Эта страница переведена с английского автоматически. Если вы заметили ошибку, сообщите нам.