Re: "IS NOT NULL" != "NOT NULL"

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: "IS NOT NULL" != "NOT NULL"
Дата
Msg-id 8536.1011380705@sss.pgh.pa.us
обсуждение исходный текст
Ответ на "IS NOT NULL" != "NOT NULL"  (Sean Chittenden <sean@chittenden.org>)
Ответы Re: "IS NOT NULL" != "NOT NULL"
Re: "IS NOT NULL" != "NOT NULL"
Список pgsql-general
Sean Chittenden <sean@chittenden.org> writes:
> db=> SELECT COUNT(*) FROM pkg_hosts WHERE timestamp_col NOT NULL;
>  count
> -------
>      0
> (1 row)


> db=> SELECT COUNT(*) FROM pkg_hosts WHERE timestamp_col IS NOT NULL;
>  count
> -------
>    1242
> (1 row)

> Why aren't those the same?  Seems like the IS would be an extra word
> that's not necessarily needed.  ::shrug::  -sc

This is more than a tad hard to believe, considering that the parser
converts both of these constructs into the same internal representation:

        | a_expr NOTNULL
                {    $$ = makeA_Expr(NOTNULL, NULL, $1, NULL); }
        | a_expr IS NOT NULL_P
                {    $$ = makeA_Expr(NOTNULL, NULL, $1, NULL); }

Can you provide a reproducible example where the results are different?

            regards, tom lane

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

Предыдущее
От: "Steve Boyle \(Roselink\)"
Дата:
Сообщение: Re: Function problem
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BLOB question + MS Access ODBC issue