PostgreSQL - 轉義字符


轉載至:postgresql字符轉義

前言

在PostgreSQL 9之前的版本中,可以直接使用反斜杠\進行轉義;比如:\b表示退格, \n表示換行, \t表示水平制表符,\r標示回車,\f表示換頁。除此之外還支持\digits和\xhexdigits,分別表示轉義八進制和十六進制數據。

但是在PostgreSQL 9之后的版本,反斜杠已經變成了普通字符;如果想要使用反斜杠來轉義字符,就必須在需要轉義的字符串前面加上E(E就是Escape),如下:

select E'張\t小明';

對單引號的兩種轉義方式

在SQL標准中字符串是用單引號括起來的,而在PostgreSQL中遵守了該標准,雙引號則是用來表示變量的,如果在字符串中需要使用到單引號,就需要對其進行轉義。

方式一:使用E和反斜杠進行轉義

select E'\'233';

方式二:直接用一個單引號來轉義單引號

select '''233';

這兩種方式都能得到'233的結果而不會報錯,第二種方式比較簡單,也可以通過修改standard_conforming_strings參數的值來讓反斜杠從普通字符變回轉義字符:

查詢並修改該參數的值:

show standard_conforming_strings;
SET standard_conforming_strings = on;
SET standard_conforming_strings = off;

當該參數的值為off時就可以直接使用反斜杠作為轉義字符里,如下:

select '\'233';

將會得到'233的結果而不會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM