Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL中不需要的换行符翻译_Sql_Database_Postgresql_Newline - Fatal编程技术网

PostgreSQL中不需要的换行符翻译

PostgreSQL中不需要的换行符翻译,sql,database,postgresql,newline,Sql,Database,Postgresql,Newline,在PostgreSQL中,我有许多视图,其中包含以下SQL: select replace( replace(details, E'\n\n', '</text></line><line><text>'||E'\n'), E'\n', '</text></line><line><text>'||E'\n') from personal_details 选择替换( 替换(详细信息,E'\n\n

在PostgreSQL中,我有许多视图,其中包含以下SQL:

select replace(
  replace(details, E'\n\n', '</text></line><line><text>'||E'\n'),
  E'\n', '</text></line><line><text>'||E'\n')
from personal_details
选择替换(
替换(详细信息,E'\n\n',''| | E'\n'),
E'\n',''| | E'\n')
个人资料
这是用来将数据中的换行符替换为
,这样我就可以得到我想要的格式的输出,但这并不是真的

问题:

当我将此SQL(通过PhpPgAdmin)添加到视图的定义中并保存它时,Postgresql似乎会转换换行符,因此视图定义现在如下所示:

select replace(
      replace(details, '

'::text, '</text></line><line><text>'::text || '
'::text), '
'::text, '</text></line><line><text>'::text || '
'::text))
from personal_details
选择替换(
替换(详细信息,'
“::text”,“::text | |”
“::文本),”
“::text”,“::text | |”
”::文本)
个人资料
正如您所见,它正在翻译
E'\n\n'
,我不希望它这样做,因为它使视图定义更难理解,如果有人第一次看到翻译后的SQL(例如,如果他们想更改视图),他们可能不理解视图在做什么,与我最初作为视图定义输入的SQL相比


也许有一个明显的解决方案我忽略了?但我如何防止它这样做?这会对我的观点产生任何负面影响吗?

恐怕答案可能是“不”

E'…'
表单只是一种可选的字符串文字表示形式,因此它不会保留在存储值中


现在,您可以很好地证明PostgreSQL中的字符串表示代码应该扫描每个字符串并查找可能的转义字符。然后它可以显示特定于PostgreSQL的转义格式。我看不到邮件中提到的任何内容,因此在PostgreSQL邮件列表中提出这个问题(可能从普通邮件列表开始,而不是黑客邮件列表),看看人们对这种变化的感受。

恐怕答案可能是“不”

E'…'
表单只是一种可选的字符串文字表示形式,因此它不会保留在存储值中


现在,您可以很好地证明PostgreSQL中的字符串表示代码应该扫描每个字符串并查找可能的转义字符。然后它可以显示特定于PostgreSQL的转义格式。我看不到在上提到的任何内容,因此在PostgreSQL邮件列表上提出这个问题(可能从普通邮件列表开始,而不是黑客邮件列表)可能是值得的,看看人们对这样的更改会有什么感受。

当您在替换之前选择时,事情也会被插入,不是吗?@Denis-抱歉,但我不太明白你在问什么?谢谢当你在替换之前选择时,这个东西也被插入了,不是吗?@Denis-抱歉,但我不太明白你在问什么?thanksIt在邮件列表中列出这一点是合理的。我可以看到反对它的论据,但问一下也无妨。@petereisentrat-当我有机会这样做并报告结果时,thanksIt将有理由在邮件列表中提到这一点。我可以看到反对它的论据,但问一下也无妨。@petereisentract-当我有机会的时候,我会这样做并报告结果,谢谢