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 / MariaDBBackticks、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 輸出越乾淨。