|
1 |
| -<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.427 2008/04/04 18:45:36 tgl Exp $ --> |
| 1 | +<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.428 2008/04/07 00:51:27 momjian Exp $ --> |
2 | 2 |
|
3 | 3 | <chapter id="functions">
|
4 | 4 | <title>Functions and Operators</title>
|
|
344 | 344 | <literal>IS NULL</> is true when the row expression itself is null
|
345 | 345 | or when all the row's fields are null, while
|
346 | 346 | <literal>IS NOT NULL</> is true when the row expression itself is non-null
|
347 |
| - and all the row's fields are non-null. |
| 347 | + and all the row's fields are non-null. Because of this behavior, |
| 348 | + <literal>IS NULL</> and <literal>IS NOT NULL</> do not always return |
| 349 | + inverse results for row-valued expressions, i.e. a row-valued |
| 350 | + expression that contains both NULL and non-null values will return false |
| 351 | + for both tests. |
348 | 352 | This definition conforms to the SQL standard, and is a change from the
|
349 | 353 | inconsistent behavior exhibited by <productname>PostgreSQL</productname>
|
350 | 354 | versions prior to 8.2.
|
|