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 по дате отправления: