Utilo

SQL 整形・方言変換

SQL クエリを整形し、MySQL、PostgreSQL、SQLite、SQL Server 間で構文を変換します。識別子のクォート、LIMIT/TOP/OFFSET、自動採番、データ型、よく使う関数に対応。

この SQL フォーマットが何をする?

このツールは2つの仕事をします。まず、SQLをフォーマットします。一行あたり1つの節、一貫したインデント、大小文字のキーワード、読み取れるJOINとCASEブロック、戦術でテストされたsql-formatterエンジンを用いて方言認識解析。次に、MySQL、PostgreSQL、SQLite、SQL Server の間で 基本方言変換を実行し、データベース間のクエリやスキーマを移動する際に最も頻繁に噛む違いを処理します。本物のテーブル名を含む生成クエリはブラウザを離れません

使い方

  1. SQLを入力に貼る
  2. ソース方言を選択し、変換したい場合は、ターゲット方言を選択します。ターゲットを"保持"でフォーマットするだけです
  3. キーワードのケースとインデントの幅を選択します。
  4. 翻訳機が安全に翻訳できなかったものは、そこにリストされています。
  5. 結果をコピーする

変換器が処理するもの

  • 識別子引用: `name` (MySQL) ↔ "name" (PostgreSQL/SQLite) ↔ [name] (SQLサーバー)
  • 行制限: LIMIT n OFFSET m TOP n OFFSET m ROWS FETCH NEXT n ROWS ONLY。
  • 自動増量: AUTO_INCREMENT SERIAL/GENERATED ... AS IDENTITY AUTOINCREMENT IDENTITY(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 vs ON CONFLICT) と分類詳細は手動でレビューする必要があります。強力な初稿として処理しターゲットデータベースにテストします

よくある質問

フォーマットすることで、私のクエリの機能が変わりますか?

違う違う。フォーマットすると空白とキーワードのケースが変わります。識別子と文字は未使用です

複数の文言をフォーマットできますか?

そうだ。各文は独自のフォーマットになります文字列を書き換えるには

なぜ私のクエリが完全に変換されないのですか?

直接的な対称性がない。メモパネルは注意が必要とするものをリストします。

私のSQLはアップロードされていますか?

違う違う。フォーマットと変換はブラウザで実行されます

はい。すべての処理は JavaScript、Web Worker、Web API を使ってブラウザ内で直接行われます。入力・貼り付け・アップロードした内容がサーバーに送信されることはありません。

このページは英語から自動翻訳されています。誤りを見つけた場合はお知らせください。