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)