|
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. |
|