İçeriğe atla
%100 yerel

SQL diyalekti dönüştürücü

SQL'i PostgreSQL, MySQL, SQLite ve SQL Server sözdizimi arasında yeniden yazın.

Giriş
Çıkış

SQL diyalekti dönüştürücü

Bir adatbázis için yazılmış bir sorgu yapıştırın ve başka bir adatbázis için yeniden yazılmış olarak geri alın. Dönüştürücü satır sınırlama sözdizimi, yaygın tarih ve dizi işlevleri, dizi birleştirme, tanımlayıcı alıntı işaretleri ve PostgreSQL, MySQL, SQLite ve SQL Server arasında sütun türlerini kapsar — MySQL'den PostgreSQL'ye proje geçişi yaparken, SQL Server'dan SQLite'e yazılmış bir betiği taşırken veya bir sorgunun başka bir veritabanı altyapısında nasıl görüneceğini kontrol etmek için faydalıdır.

Kaynak diyalekti ve hedef diyalekti dönüştürmenin iki ucunu seçer. Aşağıdaki onay kutuları bireysel dönüştürmeleri açıp kapatır: tanımlayıcı tırnak işaretini normalleştir çift tırnak işaretleri, backtick'ler ve köşeli ayraçları hedefin kendi stiline dönüştürür; satır sınırı yan tümcesini dönüştür LIMIT, TOP ve OFFSET…FETCH FIRST arasında geçiş yapar ve ofset'i sessizce atmaz; tarih ve dizi işlevlerini dönüştür NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() ve COALESCE()/IFNULL()/ISNULL() öğelerini yeniden yazar; dizi birleştirmesini dönüştür || ve CONCAT()/+ arasında geçiş yapar; sütun türlerini dönüştür SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT ve TIMESTAMP stili bildirimlerini en yakın eşdeğerine eşleştirir. Yorumları koru kodu koruyup korumadığını kontrol eder — ve /* */ yorumları yeniden yazmada hayatta kalır.

Bazı yapılar hedef diyalektinde gerçekten eşdeğeri yoktur — PostgreSQL'nin RETURNING ve ON CONFLICT veya MySQL'nin ON DUPLICATE KEY UPDATE — ve gerçek bir yeniden yazma denemesi yerine, araç bunları yerinde bırakır ve çıktıya eklenen bir uyarılar bloğunda listeler. Araç tam bir SQL ayrıştırıcı yerine ifade metnini yeniden yazar, bu nedenle sonucu gerçek bir veritabanında çalıştırmadan önce, özellikle iç içe alt sorgular veya alışılmadık biçimlendirme için gözden geçirin. Çok ifadeli betikler de çalışır: her bir ifade, noktalı virgüllerle ayrılmış, kendi başına dönüştürülür.

Her şey yerel olarak tarayıcınızda çalışır — hiçbir sorgu, tablo adı, sütun adı veya bağlantı dizesi hiçbir yere gönderilmez. Sonucu kopyalayın, .txt dosyası olarak indirin veya çıktıyı doğrudan girmek için geri gönderin başka bir geçiş çalıştırmak için.

FAQ

Gerçekten SQL'i ayrıştırıyor mu, yoksa sadece metin değiştirme mi yapıyor?
Bilinen desenleri yeniden yazar — satır sınırı yan tümceleri, yaygın işlevler, birleştirme, tanımlayıcı alıntı işaretleri ve sütun türleri — tam bir SQL ayrıştırıcı yerine hedeflenen metin değişiklikleriyle, bu nedenle sonucu bir veritabanında çalıştırmadan önce her zaman kontrol edin.
Hedef diyalektide bulunmayan yapılar ne olur?
Yerinde kalırlar ve çıktıya eklenen bir uyarılar bloğunda listelenir, örneğin PostgreSQL'nin SQL Server'a dönüştürülürken ON CONFLICT.
Çok ifadeli betikleri dönüştürebilir miyim?
Evet — her bir ifade, noktalı virgüllerle ayrılmış, kendi başına dönüştürülür, böylece birden fazla CREATE TABLE veya SELECT ifadesi içeren bir betik tek bir geçişte dönüştürülür.
SQL'im herhangi bir yere yükleniyor mu?
Hayır. Dönüştürme tamamen tarayıcınızda çalışır — sorgularınız, şemanız ve verileriniz asla cihazınızı bırakmaz.