转载⾄:
前⾔
在PostgreSQL 9之前的版本中,可以直接使⽤反斜杠\\进⾏转义;⽐如:\\b表⽰退格, \\n表⽰换⾏, \表⽰⽔平制表符,\\r标⽰回车,\\f表⽰换页。除此之外还⽀持\\digits和\\xhexdigits,分别表⽰转义⼋进制和⼗六进制数据。
但是在PostgreSQL 9之后的版本,反斜杠已经变成了普通字符;如果想要使⽤反斜杠来转义字符,就必须在需要转义的字符串前⾯加上E(E就是Escape),如下:
select E'张\⼩明';
对单引号的两种转义⽅式
在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的结果⽽不会报错。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ryyc.cn 版权所有 湘ICP备2023022495号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务