SQL 文字列エスケープ
選択したSQLダイアレクトに合わせて文字列をエスケープします。MySQLはバックスラッシュとクォートを、PostgreSQL/SQLite/MSSQLはシングルクォートを二重にします。
MySQL/MariaDB、PostgreSQL、SQLite、MSSQL向けにSQL文字列リテラルのエスケープ済み文字列と引用済み形式を作る補助ツールです。パラメータ化クエリの代替ではありません。
SQL文字列をエスケープする方法
- SQL方言を選択します。
- 文字列リテラルにしたいテキストを入力します。
- エスケープ済み値と引用済みリテラルを確認します。
- 必要な結果をコピーします。
方言ごとの動作
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接続は行いません。