2016-03-16 4 views
11

Как использовать символ новой строки в PostgreSQL?PostgreSQL символ новой строки

Это неправильный скрипт из моего опыта:

select 'test line 1'||'\n'||'test line 2'; 

Я хочу, чтобы окно редактора SQL этого результата из моего сценария выше:

test line 1 
test line 2 

Но, к сожалению, я просто получить этот результат из моего сценария когда я запускаю его в редакторе sql:

test line 1 test line 2 
+3

Возможный дубликат [Как вставить новую строку в PostgreSQL] (http://stackoverflow.com/questions/32949768/how-to-insert-new-line-in-postgresql) – Elad

+0

@ Elad, мой вопрос о запрос "select". для чтения данных в таблице нет вставки «create». ответа от a_horse_with_no_name достаточно, чтобы решить мою проблему сейчас. – Alimin

+0

ответ там: «Вам не хватает e, прежде чем новый линейный литерал» - тот же ответ, что и вы здесь. – Elad

ответ

23

Обратная косая черта не имеет особого значения в SQL , Так '\n' является обратной косой черты с последующим символом n

Чтобы использовать «экранирующие последовательности» в строке буквального вам нужно использовать "extended" constant:

select 'test line 1'||E'\n'||'test line 2'; 

Другой вариант заключается в использовании chr() функции:

select 'test line 1'||chr(10)||'test line 2'; 

Или просто поставить новую строку в строковой константы:

select 'test line 1 
test line 2'; 

ли это или нет на самом деле отображается в виде двух строк в вашем клиенте SQL, зависит от вашего клиента SQL.

+0

Немного глупо только расширять символьную часть строки строки, не так ли? Вы могли бы просто выполнить 'E'test line 1 \ ntest line 2'' – thedayturns

Смежные вопросы