Re: What is this doing? SELECT (a,b,c) FROM mytable ...

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: What is this doing? SELECT (a,b,c) FROM mytable ...
Дата
Msg-id 942.1303527908@sss.pgh.pa.us
обсуждение исходный текст
Ответ на What is this doing? SELECT (a,b,c) FROM mytable ...  (ljb <ljb9832@pobox.com>)
Список pgsql-general
ljb <ljb9832@pobox.com> writes:
> What syntax or operator did I (accidentally) invoke by putting parentheses
> around my column list?
>      SELECT (a, b, c) FROM mytable...
> It gets me a single result column with comma-separated values in
> parentheses (see 2nd SELECT below).  I can't find an explanation in the
> PostgreSQL manual. It doesn't seem to be an array, a subquery, row
> constructor, etc. What sort of thing is it?

Yeah, it's a ROW() constructor.  According to the SQL spec you're
allowed to omit the "ROW" keyword.  Not one of their better ideas
IMO, especially in a syntax that generally prefers wordiness.

It is documented, very briefly, under 4.2.13 Row Constructors:

    The key word ROW is optional when there is more than one
    expression in the list.


            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: ljb
Дата:
Сообщение: What is this doing? SELECT (a,b,c) FROM mytable ...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Should I free this memory?