このツールの動作
標準 SQL が文字列リテラルに対して持つ唯一のエスケープ規則を逆にします。文字列内のシングルクォートは2つ重ねて書く、という規則です。リテラルを貼り付けると、'' はそれぞれ1つの ' に戻ります。
テキストがシングルクォートで囲まれている場合は、先に外側の対を取り除きます。そのため両方の形式が使えます。'O''Brien' も O''Brien もどちらも O'Brien になるので、クエリからでも、書き出された列の値からでも、手を加えずに貼り付けられます。エスケープ側が出力を引用符で囲むようになったため、両者は正確に逆の操作になります。エスケープが生成したものは、引用符も含めてそのままここで元に戻ります。
こんなときに使います
クエリログ、マイグレーションファイル、ORM のデバッグ出力からリテラルを読むとき。クォートが重なって値が読みにくくなっている場面です。値が1回だけエスケープされたのか2回されたのかを確かめるのにも使えます。余分なクォートが付いて返ってくる名前は、たいていエスケープ処理を1回多く通っています。
このツールがしないこと
バックスラッシュによるエスケープには手を触れません。MySQL は NO_BACKSLASH_ESCAPES が設定されていない限り \' を受け付けますが、これは MySQL の拡張であって標準 SQL ではありません。ここで復号すれば、その規則を持たないデータベース向けのリテラルを黙って書き換えてしまいます。
PostgreSQL のエスケープ文字列(E'...')やドル引用符($$...$$)も同様に対象外です。クエリ全体も同じで、このツールが読むのは1つのリテラルです。1つの文に含まれる二重クォートをすべて畳めば、他のリテラルのクォートを壊してしまいます。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。