1
9
试试这个:
更新:为什么原件不起作用?首先,理解一个斜杠和两个斜杠的区别:
在第一种情况下,我写的是一个文本字符串,4个字符没有转义(“A”),其中一个转义。在第一个过程中,解析器使用斜杠,这将转换完整的
在第二种情况下,第一个斜杠刚好避开第二个斜杠
现在,当将文本转换为字节时,转义字符(在已经解析或生成的文本中)将被解析/解释。 again !(是的,这很混乱)。 所以,当我写作的时候
在第一个解析中,文本e'a a\000a a'转换为第三个位置具有空字符的内部文本(根据您的PostgreSQL版本,空字符被解释为EOS,并且假定文本的长度为2,或者在其他版本中引发非法字符串错误)。 相反,当我写作时
在第一次解析中,会看到文本字符串“a a\000a a”(8个字符),并将其指定为文本;然后在转换为byte a时,会再次对其进行解析,并将字符序列'\000'解释为空字节。 我觉得PostgreSQL有点糟糕。 |
2
0
您可以使用常规字符串或美元引号字符串,而不是转义字符串:
我认为美元报价字符串是更好的选择,因为如果配置参数
|
tggtsed · PostgreSQL从平均值中排除值 1 年前 |
Dawid · 为什么我不能在子查询中使用表别名? 2 年前 |
CraZyCoDer · 在PostgreSQL中锁定潜在事务 2 年前 |
ranebec · 计数时如何返回0而不是null? 2 年前 |
Flo · 分组依据中的SQL大小写 2 年前 |