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 ответа

Решение

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

Чтобы использовать "escape-последовательности" в строковом литерале, вам нужно использовать "расширенную" константу:

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.

Если вы хотите найти, содержит ли jsonb \n, это работает

      SELECT * FROM table
WHERE column ~ '^.*\\n.*$'

В Postgres вы можете использовать строки в долларовых кавычках . Все, что включает пары знаков доллара, рассматривается как строковый литерал. Вы можете просто сказать

      select $$test line 1
test line 2$$
Другие вопросы по тегам