這個SQL格式化器的功能
這個工具有兩種功能。首先,它格式化SQL:每行一個句子,一致的插入,大小字母的關鍵字和可讀的JOIN和CASE塊,使用經過測試的sql-formatter引擎,具有方言感知解析。其次,它在 MySQL,PostgreSQL,SQLite 和 SQL Server 之間執行 基本方言轉換,在資料庫之間移動查詢或模式時處理最常見的差異。它們都在本地執行,因此包含真正表名的生產查詢永遠不會離開瀏覽器。
使用方法
- 在輸入中貼上SQL。
- 選擇源方言,如果要轉換,選擇目標方言。讓目標是"保持"只格式化。
- 選擇關鍵字案例和插槽寬度。
- 檢視筆記板:任何轉換器無法安全地翻譯的東西都列出在那裡。
- 複製結果。
轉換器處理的內容
- 識別符號引用:
`name`(MySQL) ↔"name"(PostgreSQL/SQLite) ↔[name](SQL伺服器) - 行限制:
LIMIT n OFFSET mTOP nOFFSET m ROWS FETCH NEXT n ROWS ONLY。 - 自動增加:
AUTO_INCREMENTSERIAL/GENERATED ... AS IDENTITYAUTOINCREMENTIDENTITY(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) 和排序細節需要手動審查。將輸出視為一個強大的初稿,並對目標資料庫進行測試。