100 % lokal — Ihre Daten verlassen nie Ihren Browser

SQL-Escape — ein Literal für Ihre Abfrage

Die einfachen Anführungszeichen verdoppeln und das Ganze umschließen: ein vollständiges ANSI-SQL-String-Literal für die Abfrage, die Sie von Hand tippen.

Sofort Privat Null Cookies

Text-Eingabe

SQL Escaped-Ausgabe

Was dieses Tool macht

Zwei Dinge: Es verdoppelt jedes Apostroph — so schreibt ANSI-SQL ein Apostroph innerhalb eines Literals — und fasst das Ergebnis ein, sodass ein vollständiges Literal zurückkommt.

O'Brien   →   'O''Brien'

Standard-SQL kennt keine Backslash-Maskierung, mehr wird nicht umgeformt.

Die Einfassung ist es, die den Hin- und Rückweg exakt macht. Ohne sie wird ein einzelnes Apostroph zu '', was das Entmaskieren als leere Zeichenkette in Anführungszeichen liest — das Zeichen verschwindet. PostgreSQLs quote_literal() und SqlString.escape() aus Node liefern aus demselben Grund die eingefasste Form. Schalten Sie Mit Quotes ab, wenn Sie nur das Innere brauchen, zum Einfügen zwischen eigene Apostrophe; diese Form ist nicht umkehrbar.

Bitte vor der Verwendung lesen

Anführungszeichen zu maskieren ist kein Schutz vor SQL-Injection. Es ist eine Syntaxhilfe, keine Sicherheitsgrenze. Jeder Wert, der von einem Benutzer, einer Anfrage, einer Datei oder einem anderen System stammt, gehört in eine parametrisierte Abfrage — einen Platzhalter, den der Treiber getrennt bindet, sodass der Wert nie Teil des Anweisungstexts wird und keine noch so sorgfältige Maskierung die Bedeutung der Abfrage ändern kann.

Dieses Tool ist für den anderen Fall: ein Literal, das Sie selbst in eine Migration, ein Testdatenset oder ein einmaliges SELECT tippen, dessen Text ein Apostroph enthält und für das Sie die richtige Form wollen, ohne Anführungszeichen zu zählen.

Einschränkung nach Dialekt

Die ANSI-Regel ist der sicherste gemeinsame Nenner, aber nicht allgemeingültig. MySQL behandelt — sofern es nicht mit NO_BACKSLASH_ESCAPES läuft — auch \ als Escape-Zeichen in Literalen, ein Wert mit abschließendem Backslash ist durch bloßes Verdoppeln der Anführungszeichen also nicht vollständig abgedeckt. Prüfen Sie Ihren Dialekt, bevor Sie sich hierauf für etwas anderes als handgeschriebenes SQL verlassen.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Schützt mich das vor SQL-Injection?
Nein, und Sie sollten es dafür nicht verwenden. Anführungszeichen zu maskieren ist keine Sicherheitsgrenze: der einzig verlässliche Schutz ist die parametrisierte Abfrage, bei der der Wert nie Teil des Anweisungstexts wird. Nutzen Sie dieses Tool für SQL, das Sie selbst schreiben, nicht für SQL aus Benutzereingaben.
Warum wird nur das einfache Anführungszeichen verdoppelt?
Weil der ANSI-Standard das so vorsieht. In Standard-SQL wird ein String-Literal von einfachen Anführungszeichen begrenzt, und ein inneres Anführungszeichen wird zweimal geschrieben — eine Backslash-Maskierung gibt es nicht.
Reicht das für MySQL?
Nicht unbedingt. Sofern NO_BACKSLASH_ESCAPES nicht aktiv ist, behandelt MySQL auch den Backslash als Escape-Zeichen in String-Literalen, sodass ein abschließender Backslash verändern kann, wie das folgende Anführungszeichen gelesen wird. Dieses Tool wendet allein die ANSI-Regel an.
Warum enthält die Ausgabe die umschließenden Apostrophe?
Weil das das ganze Literal ist und die einzige Form, die einen Hin- und Rückweg übersteht. Ein einzelnes Apostroph ohne Einfassung ergibt `''`, ununterscheidbar von einer leeren Zeichenkette in Anführungszeichen. Schalten Sie **Mit Quotes** ab, wenn Sie nur das Innere wollen.

Ähnliche Konverter