In Integrated Operational Planning, empty cells are represented by java.lang.Double.NaN. In many cases, the value behaves like zero, very differently from how NaN behaves based on a Java language specification.
Table 15. Differences in Computation Environments
| Java | SQL | Excel | Integrated Operational Planning | |
|---|---|---|---|---|
| 1 > null | false | false | true | true |
| 1 >= null | false | false | true | true |
| 1 < null | false | false | false | false |
| 1 <= null | false | false | false | false |
| 1 = = null | false | false | false | false |
| 1 != null | true | false | true | true |
| null = = null | false | false | true | true |
| null != null | true | false | false | false |
| null + null | null | null | 0 | null |
| null - null | null | null | 0 | null |
| null * null | null | null | 0 | null |
| null / null | null | null | #DIV/0! | null |
| 1 / 0 | Exception | Exception | #DIV/0! | null |
| 1 / null | null | null | #DIV/0! | null |
| 1 + null | null | null | 1 | 1 |
| 1 - null | null | null | 1 | 1 |
| 1 * null | null | null | 0 | null |
| 0 = = null | false | false | true | true |
| 0 != null | true | false | false | false |
| -1 > null | false | false | false | false |
| -1 >= null | false | false | false | false |
| -1 < null | false | false | true | true |
| -1 <= null | false | false | true | true |
| -1 = = null | false | false | false | false |
| -1 != null | true | false | false | false |
| -1 + null | null | null | -1 | -1 |
| -1 - null | null | null | -1 | -1 |
| -1 + null | null | null | 0 | null |
| sum(1, null) | 1 | 1 | 1 | |
| sum(-1, null) | -1 | -1 | -1 | |
| avg(1, null, -1, 6) | 2 | 2 | 2 | |
| 1 > null w/ORDER BY ASC | true | true | ||
| -1 > null w/ORDER BY ASC | false | false | ||
| 0 < null w/ORDER BY DESC | true | false | ||
| -1 < null w/PRDER BY DESC | true | false | ||
| 1 < null w/ORDER BY DESC | false | false | ||
| -1 < null w/ORDER BY DESC | true | true | ||
| 0 < null w/ORDERBY DESC | true | false | ||
| null = = w/GROUP BY | true | true |