首頁 >資料庫 >mysql教程 >如何在 PostgreSQL 中正確插入帶有單引號的文字?

如何在 PostgreSQL 中正確插入帶有單引號的文字?

Linda Hamilton
Linda Hamilton原創
2025-01-23 14:23:10476瀏覽

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

在PostgreSQL中插入包含單引號的文字

在PostgreSQL中插入包含單引號的值可能會比較棘手。但是,有一些方法可以確保正確轉義。

使用單引號

要插入包含單引號的值,請在字串中將它們加倍:

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

使用反斜線轉義

在將standard_conforming_strings設定為off的PostgreSQL版本中,或使用E前綴啟用POSIX轉義字串語法時,可以使用反斜線轉義單引號:

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

使用美元符引號字串

另一個選項,特別適用於包含多層轉義的複雜字串,是使用美元符引號字串:

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

用來引用字串的函數

PostgreSQL 提供了用於正確引用字串的函數:

  • quote_literal()quote_nullable():引用字串,或對空輸入回傳 NULL。
  • 帶有 %L 說明符的 format():等效於 quote_nullable()

例如:

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

以上是如何在 PostgreSQL 中正確插入帶有單引號的文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn