Конвертер діалектів SQL
Переписуйте SQL між синтаксисом PostgreSQL, MySQL, SQLite та SQL Server.
Конвертер діалектів SQL
Вставте запит, написаний для однієї бази даних, і отримайте його переписаним для іншої. Конвертер охоплює синтаксис обмеження рядків, поширені функції дати та рядків, конкатенацію рядків, цитування ідентифікаторів та типи стовпців між PostgreSQL, MySQL, SQLite та SQL Server — корисно при міграції проекту з MySQL на PostgreSQL, адаптації скрипту, написаного для SQL Server, до SQLite, або просто перевірці того, як запит виглядатиме в іншій системі.
Вихідний діалект та цільовий діалект вибирають обидва кінці перетворення. Прапорці нижче вмикають та вимикають окремі перетворення: нормалізація цитування ідентифікаторів замінює подвійні лапки, зворотні лапки та квадратні дужки на власний стиль цільової БД; перетворення пропозиції LIMIT перемикається між LIMIT, TOP та OFFSET…FETCH FIRST без втрати зміщення; перетворення функцій дати та рядків переписує NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() та COALESCE()/IFNULL()/ISNULL(); перетворення конкатенації рядків перемикається між || та CONCAT()/+; перетворення типів стовпців відображає SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT та оголошення у стилі TIMESTAMP на їхні найближчі еквіваленти. Збереження коментарів контролює, чи виживають коментарі -- та /* */ при переписуванні.
Деякі конструкції не мають справжніх еквівалентів — PostgreSQL's RETURNING та ON CONFLICT, або MySQL's ON DUPLICATE KEY UPDATE — і замість того, щоб вгадувати переписування, інструмент залишає їх на місці та перераховує в блоці попереджень, доданому до виведення. Інструмент переписує текст оператора, а не парсує повний план виконання, тому перевірте результат перед запуском проти реальної бази даних, особливо для вкладених підзапитів або незвичайного форматування. Багатооператорні скрипти також працюють: кожен оператор, розділений крапкою з комою, перетворюється самостійно.
Усе працює локально у вашому браузері: жодний запит, ім'я таблиці, ім'я стовпця чи рядок підключення ніколи нікуди не відправляються. Скопіюйте результат, завантажте його як файл .txt або відправте вивід прямо назад до вхідного поля для запуску іншого проходження.