SQL 格式化工具 線上
把擠成一團的查詢整理成隊友能審查的樣子,再進入 migration、報表或正式環境修正。
Dialect:
縮排:
Keywords:
輸入 SQL
格式化輸出
等待輸入...為什麼要格式化 SQL?
密集 SQL 很容易藏小錯:錯誤 join、少一個括號、filter 放錯 clause,或昨天看起來很清楚的 alias。格式化不會讓 query 自動正確,但能讓意圖清楚到足以審閱。
結構可讀: 一致的縮排和換行,讓 SELECT lists、joins、subqueries、CTEs 和 WHERE conditions 更容易追。
團隊一致: 共享格式規則能降低 migrations、儀表板、統計筆記本和 stored query libraries 裡的審閱雜訊。
除錯更快: 乾淨版面讓邏輯錯誤、缺少 aliases、AND/OR groups 放錯和 broken conditions 更容易被看見。
Diff 更好看: 穩定換行讓 pull requests 裡的 query 修改更容易審閱,而不是讀一整面單行 SQL。
Dialect 快速參考
| Dialect | 常見特性 | 建議設定 |
|---|---|---|
| Standard SQL | 一般關聯式查詢的通用基準。 | Uppercase keywords,2-space indentation |
| MySQL / MariaDB | Backticks、LIMIT clauses 和 MySQL-specific syntax。 | MySQL dialect |
| PostgreSQL | $tag$ strings、JSONB operators 和大量 casts。 | PostgreSQL dialect |
| Transact-SQL (T-SQL) | Square-bracket identifiers、TOP clauses 和 SQL Server syntax。 | T-SQL dialect |
常見問題
這會把我的 SQL 上傳到伺服器嗎?
不會。格式化在瀏覽器中執行,query text 會留在頁面上。
如何重新格式化壓縮 SQL?
把單行 query 貼到輸入區,選擇最接近的 dialect。Formatter 會自動重建換行、縮排和 keyword casing。
格式化會改變 query 執行方式嗎?
空白和 keyword casing 不應改變 SQL semantics。不過 formatted output 仍是 code,請審閱、測試,並留意 dialect-specific syntax。
該選哪個 SQL dialect?
選擇實際執行 query 的資料庫。PostgreSQL、MySQL 和 SQL Server 的 quoting rules、functions、casts 和 limit syntax 不同,越接近的 dialect 輸出越乾淨。