在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中文網其他相關文章!