SQL 文字列エスケープ

選択したSQLダイアレクトに合わせて文字列をエスケープします。MySQLはバックスラッシュとクォートを、PostgreSQL/SQLite/MSSQLはシングルクォートを二重にします。

ブラウザローカル 登録不要 開発者向け

MySQL/MariaDB、PostgreSQL、SQLite、MSSQL向けにSQL文字列リテラルのエスケープ済み文字列と引用済み形式を作る補助ツールです。パラメータ化クエリの代替ではありません。

SQL文字列をエスケープする方法

  1. SQL方言を選択します。
  2. 文字列リテラルにしたいテキストを入力します。
  3. エスケープ済み値と引用済みリテラルを確認します。
  4. 必要な結果をコピーします。

方言ごとの動作

MySQL/MariaDBではバックスラッシュ、引用符、改行、CR、NUL、Ctrl-Zなどをバックスラッシュエスケープします。PostgreSQL、SQLite、MSSQLではシングルクォートを2つにします。

引用結果はMySQL・PostgreSQL・SQLiteでは通常のシングルクォート、MSSQLではN'text'形式です。

プライバシーとセキュリティ上の制限

変換はブラウザ内で行われ、このアプリケーションが入力テキストを外部サーバーへ送信することはありません。SQLインジェクション対策としては使わず、本番コードではprepared statementやparameter bindingを使用してください。

SQL Escape Helper FAQ

Prepared Statementの代わりになりますか?

いいえ。未信頼値にはDBドライバーのパラメータやprepared statementを使ってください。

対応方言は?

MySQL/MariaDB、PostgreSQL、SQLite、MSSQL T-SQLです。

MSSQLで先頭にNが付く理由は?

この実装はMSSQLモードでN接頭辞付き文字列リテラルを出力します。

PostgreSQLのE文字列も生成しますか?

いいえ。シングルクォートを二重化し、通常のシングルクォートで囲むだけです。

SQLを実行しますか?

いいえ。ローカルで文字列を変換するだけでDB接続は行いません。