今天碰到乙個問題,就是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的結果而不會報錯。 轉義字元(轉義序列)
在程式設計中有一些字元是打不出來的,比如換行,提示音,下乙個製表位等等,於是程式語言的開發者就設計了轉義序列 escape sequence 這種東西用來表達這些字元。下面就是一些轉義字元 轉義字元 功能 反斜槓 單引號 雙引號 aascii響鈴符 bel bascii退格符 bs fascii進紙...
mysql 轉義 MySql字元轉義
在字串中,某些序列具有特殊含義。這些序列均用反斜線 開始,即所謂的轉義字元。mysql識別下面的轉義序列 0ascii 0 nul 字元。單引號 雙引號 b退格符。n換行符。r回車符。ttab字元。zascii 26 控制 ctrl z 該字元可以編碼為 z 以允許你解決在windows中ascii...
mysql 轉義字元6 mysql轉義字元
mysql的轉義字元 mysql識別下列轉義字元 0乙個ascii 0 nul 字元。n乙個新行符。t乙個定位符。r乙個回車符。b乙個退格符。乙個單引號 符。乙個雙引號 符。乙個反斜線 符。乙個 符。它用於在正文中搜尋 的文字例項,否則這裡 將解釋為乙個萬用字元。乙個 符。它用於在正文中搜尋 的文字...