SQLсервер в Linux -самостоятельное освоение пакета
4b61df3a

Разбиение строковых констант



Листинг 3.5. Разбиение строковых констант

booktown=# SELECT 'book'

booktown-#

booktown-# 'end' AS example;

example

bookend (1 row)

booktown=# SELECT 'bookend' AS example;

example

bookend

(1 row)

Обе команды имеют эквивалентную семантику. Тем не менее фрагменты должны разделяться хотя бы одним разрывом строки, а при попытке разделить их только пробелами PostgreSQL выдает сообщение об ошибке:

booktown=# SELECT 'book' 'end' AS example;

ERROR: parser: parse error at or near .....

Дело в том, что без разрыва строки PostgreSQL считает, что вы ссылаетесь на две отдельные константы. Объединение двух строковых констант в одной строке выполняется оператором конкатенации 11, описанным в главе 5:

booktown=# SELECT 'book.' || 'end1 AS example; example

bookend (1 row)



Содержание раздела