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$$