Przejdź do treści
100% lokalnie

Konwerter dialektów SQL

Przepisz SQL między PostgreSQL, MySQL, SQLite i składnią SQL Server.

Wejście
Wynik

Konwerter dialektów SQL

Wstaw zapytanie napisane dla jednej bazy danych i odzyskaj je przepisane dla innej. Konwerter obejmuje skladnie ograniczenia wierszy, popularne funkcje daty i ciagów znaków, laczenie ciagów znaków, normalizacje cytowania identyfikatorów i typy kolumn w PostgreSQL, MySQL, SQLite i SQL Server — uzyteczne przy migracji projektu z MySQL na PostgreSQL, adaptacji skryptu napisanego dla SQL Server na SQLite lub sprawdzeniu, jak zapytanie wygladalaby w innym silniku.

Dialekt źródlowy i dialekt docelowy określają dwa końce konwersji. Pola wyboru poniżej włączają i wyłączają poszczególne konwersje: normalizuj cytowanie identyfikatorów zamienia cudzysłowy, backticky i nawiasy kwadratowe na własny styl celu; konwertuj klauzulę ograniczenia wierszy przełącza się między LIMIT, TOP i OFFSET…FETCH FIRST bez dyskretnego upuszczenia offsetu; konwertuj funkcje daty i ciagów znaków przepisuje NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() i COALESCE()/IFNULL()/ISNULL(); konwertuj łączenie ciagów znaków przełącza się między || i CONCAT()/+; konwertuj typy kolumn mapuje SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT i deklaracje w stylu TIMESTAMP na ich najbliższy odpowiednik. Zachowaj komentarze określa, czy -- i /* */ komentarze przetrwają przepisanie.

Niektóre konstrukcje naprawdę nie mają odpowiednika — PostgreSQL RETURNING i ON CONFLICT lub MySQL ON DUPLICATE KEY UPDATE — a zamiast zgadywania przepisania, narzędzie pozostawia je na miejscu i wyświetla je w bloku ostrzeżeń dołączonym do wyniku. Przepisuje tekst instrukcji zamiast analizować pełny plan wykonania, więc sprawdź wynik przed uruchomieniem go na rzeczywistej bazie danych, szczególnie dla zagnieżdżonych podzapytań lub nietypowego formatowania. Wieloistrukcyjne skrypty również działają: każda instrukcja oddzielona średnikiem konwertuje się samodzielnie.

Wszystko działa lokalnie w Twojej przeglądarce: żadne zapytanie, nazwa tabeli, nazwa kolumny ani ciąg połączenia nigdy nie są wysyłane nigdzie. Skopiuj wynik, pobierz jako plik .txt lub wyślij wynik bezpośrednio z powrotem do wejścia, aby uruchomić kolejny przebieg.

Częste pytania

Czy naprawdę analizuje SQL, czy tylko wykonuje zamianę tekstu?
Przepisuje znane wzorce — klauzule ograniczenia wierszy, popularne funkcje, łączenie, normalizowanie cytowania identyfikatorów i typy kolumn — z celowymi podstawieniami tekstu zamiast pełnego parsera SQL, więc zawsze sprawdź wynik przed uruchomieniem na bazie danych.
Co się dzieje z konstrukcjami, które nie istnieją w docelowym dialekcie?
Są pozostawione na miejscu i wymienione w bloku ostrzeżeń dołączonym do wyniku, na przykład PostgreSQL ON CONFLICT przy konwersji na SQL Server.
Czy mogę konwertować skrypty wieloinstrukcyjne?
Tak — każda instrukcja, oddzielona średnikiem, jest obsługiwana samodzielnie, więc skrypt z kilkoma instrukcjami CREATE TABLE lub SELECT konwertuje się w jednym przebiegu.
Czy mój SQL jest przesyłany gdziekolwiek?
Nie. Konwersja działa całkowicie w Twojej przeglądarce — Twoje zapytania, schemat i dane nigdy nie opuszczają Twoje urządzenie.