Re: CASE Statement - Order of expression processing

Поиск
Список
Период
Сортировка
От Andrea Lombardoni
Тема Re: CASE Statement - Order of expression processing
Дата
Msg-id CAMQ5dGop18aC2PiUNSEBrors54rty6M4C_L405fPvZKQA8+08w@mail.gmail.com
обсуждение исходный текст
Ответ на CASE Statement - Order of expression processing  (Andrea Lombardoni <andrea@lombardoni.ch>)
Ответы Re: CASE Statement - Order of expression processing  (Albe Laurenz <laurenz.albe@wien.gv.at>)
Список pgsql-general

On Mon, Jun 17, 2013 at 11:11 PM, Stefan Drees <stefan@drees.name> wrote:

pg924=#  SELECT CASE WHEN 1 != 1 THEN 1/0 ELSE ((SELECT 1)=1)::integer END;
 case
------
    1
(1 row)

here the 1/0 is happily ignored.


It gets even stranger:

template1=# SELECT CASE WHEN (SELECT 0)=0 THEN 0 ELSE 1/(select 0) END;
 case 
------
    0
(1 row)

Here it seems that the ELSE does not get evaluated (which is correct).

Bye

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

Предыдущее
От: Albe Laurenz
Дата:
Сообщение: Re: CASE Statement - Order of expression processing
Следующее
От: Albe Laurenz
Дата:
Сообщение: Re: JDBC prepared statement is not treated as prepared statement