Heim >Datenbank >MySQL-Tutorial >Wie kann ich Text mit einfachen Anführungszeichen richtig in PostgreSQL einfügen?

Wie kann ich Text mit einfachen Anführungszeichen richtig in PostgreSQL einfügen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-23 14:23:10474Durchsuche

How Can I Properly Insert Text with Single Quotes into PostgreSQL?

Text mit einfachen Anführungszeichen in PostgreSQL einfügen

Das Einfügen von Werten, die einfache Anführungszeichen enthalten, kann in PostgreSQL schwierig sein. Es gibt jedoch Möglichkeiten, eine ordnungsgemäße Flucht sicherzustellen.

Verwenden Sie einfache Anführungszeichen

Um Werte einzufügen, die einfache Anführungszeichen enthalten, verdoppeln Sie diese in der Zeichenfolge:

<code class="language-sql">INSERT INTO test VALUES (1, 'user''s log');</code>

Escape mit Backslash

In PostgreSQL-Versionen, in denen standard_conforming_strings auf off gesetzt ist oder wenn die POSIX-Escape-String-Syntax mit dem Präfix E aktiviert ist, können einfache Anführungszeichen mit Backslashes maskiert werden:

<code class="language-sql">INSERT INTO test VALUES (1, E'user\'s log');</code>

Verwenden Sie Dollarzeichen, um Zeichenfolgen in Anführungszeichen zu setzen

Eine weitere Option, insbesondere für komplexe Zeichenfolgen mit mehreren Escape-Ebenen, besteht darin, die Zeichenfolge mit Dollarzeichen in Anführungszeichen zu setzen:

<code class="language-sql">INSERT INTO test VALUES (1, $token$escape ' with ''$token$);</code>

Funktionen zum Zitieren von Zeichenfolgen

PostgreSQL bietet Funktionen zum korrekten Zitieren von Zeichenfolgen:

  • quote_literal() oder quote_nullable(): Zitieren Sie eine Zeichenfolge oder geben Sie NULL für eine leere Eingabe zurück.
  • %L mit format()-Bezeichner: Entspricht quote_nullable().

Zum Beispiel:

<code class="language-sql">INSERT INTO test VALUES (1, format('%L', 'user''s log'));</code>

Das obige ist der detaillierte Inhalt vonWie kann ich Text mit einfachen Anführungszeichen richtig in PostgreSQL einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn