この SQL フォーマットが何をする?
このツールは2つの仕事をします。まず、SQLをフォーマットします。一行あたり1つの節、一貫したインデント、大小文字のキーワード、読み取れる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 vs ON CONFLICT) と分類詳細は手動でレビューする必要があります。強力な初稿として処理しターゲットデータベースにテストします