SQLエスケープ/アンエスケープ: SQL文字列リテラルを変換
SQLエスケープ/アンエスケープツールは、SQL テキストをエスケープされた形式とエスケープされていない形式の間で変換します。デフォルトでは ANSI、PostgreSQL、SQL Server の規約に従ってシングルクォートを二重化します。MySQL モードではバックスラッシュエスケープを使います。エスケープまたはアンエスケープを選んで、選択した動作を適用・反転します。結果は表示と学習用に使い、SQL インジェクション対策には使わないでください。
SQLエスケープ/アンエスケープは、SQL 文字列リテラルのエスケープとアンエスケープを行うブラウザベースのツールです。読みやすい例を用意する場合も、すでにエスケープされた文字列を調べる場合も、SQL テキストのクォート文字の表現方法を変更するのに開発者や DevOps エンジニアを支援します。このツールは、デフォルトのクォート二重化動作と、バックスラッシュエスケープを使う MySQL モードに対応しています。
デフォルトでは、このツールはシングルクォートを二重化し、ANSI、PostgreSQL、SQL Server 向けに説明される規約に従います。MySQL モードでは代わりにバックスラッシュエスケープを使います。入力をエスケープするかアンエスケープするかを選んで、選択した動作を適用・反転します。PostgreSQL の E'' も、このツールが対応する SQL 規約の1つとして識別されています。これらの動作はテキストの表現を変更します。クエリを実行しても安全にはなりません。
SQL 文字列リテラルは SQL 文内のテキストを表し、SQL 方言ごとに異なるエスケープ規約を使います。エスケープされたテキストとエスケープされていないテキストの間で変換すると、リテラルが読みやすくなったり、文字列を別の文字列内に埋め込むのに役立ったり、ドキュメントや学習を支援したりできます。適切な表現は SQL 方言と作業内容によって決まります。SQL インジェクションに対する正しい防御はパラメータ化クエリです。このツールは表示と学習専用です。
このツールは完全にブラウザ上で動作します。入力はお使いのデバイス上で処理され、サーバーへのアップロードなし、保存や送信もされません。ページの読み込み後はオフラインでも動作するため、接続がなくても使い続けられます。SQLエスケープ/アンエスケープは、方言の規約に留意しながら SQL テキストを素早く調べたり変換したりする必要がある開発者や DevOps エンジニアに便利です。
手順1: SQL テキストをツールに貼り付けまたはドロップします。入力には、エスケープしたい文字列や、読みたいエスケープされた文字列を含められます。
手順2: テキストをエスケープするかアンエスケープするかを選びます。エスケープは選択した規約を適用し、アンエスケープはそれを反転します。
手順3: デフォルトのクォート二重化動作、またはバックスラッシュエスケープを使う MySQL モードを使います。デフォルトは ANSI、PostgreSQL、SQL Server 向けに説明されています。
手順4: 結果を確認し、表示、学習、開発作業の目的に合わせてコピーします。
用途: 引用符を壊さずに SQL 文字列を別の SQL 文字列内に埋め込む。エスケープにより、クォート文字を意図した表現で見えるようにできます。
用途: 密にエスケープされた文字列を、エスケープを文字に戻して読む。別の情報源からコピーした SQL テキストを調べる際に役立ちます。
用途: ソースコードや開発例に貼り付けるためのリテラルを用意する。規約が作業中の SQL 方言と一致することを確認します。
用途: ANSI、PostgreSQL、SQL Server、MySQL の規約間でクォートの扱いを比較する。デフォルトの動作と MySQL モードを切り替えることで、異なるエスケープスタイルを調べられます。
用途: ドキュメントや学習教材用に分かりやすい SQL 例を作成する。エスケープとアンエスケープで、各クォートを手で編集せずに文字列の表現方法を示せます。
用途: 開発ワークフローでテキスト処理のトラブルシューティング中にエスケープされた SQL 文字列をレビューする。アンエスケープで内容が読みやすくなりますが、クエリの検証にはなりません。