Important
Self-managed SingleStore will soon transition from version 9.1 RC to version 10. This new semantic versioning scheme will provide SingleStore with finer control over engine and feature releases that were not possible with the current versioning scheme.
In the interim, SingleStore 9.1 RC can be used to preview, evaluate, and provide feedback on the new and upcoming features in SingleStore 10 prior to its general availability. Ahead of this transition, SingleStore 9.0 is recommended for production workloads, which can later be upgraded to SingleStore 10.
NULL Handling
On this page
Unless otherwise noted, NULL handling is as defined in the SQL standard; the result of a comparison with NULL is NULL, which, when used to qualify rows, is treated as false.
IS NULL, IS NOT NULL
IS NULL and IS NOT NULL are postfix operators; the argument appears on the left.
CREATE TABLE n_s(b BOOLEAN, t TEXT);INSERT n_s VALUES(true, "blue"), (false, "red"), (true, NULL);
SELECT * FROM n_s WHERE t IS NULL;
+------+------+
| b | t |
+------+------+
| 1 | NULL |
+------+------+SELECT 'x' IS NULL, NULL IS NULL, NULL IS NOT NULL;
+-------------+--------------+------------------+
| 'x' IS NULL | NULL IS NULL | NULL IS NOT NULL |
+-------------+--------------+------------------+
| 0 | 1 | 0 |
+-------------+--------------+------------------+ISNULL()
The ISNULL() function behaves the same as IS NULL except it uses the standard function syntax where the single argument appears on the right, e.ISNULL(expr) returns true if expr is NULL and false otherwise.
NULL-safe equal operator: <=>
The NULL-safe equal operator, <=> returns true if both arguments are NULL.= operator.
SELECT * FROM n_s AS s1, n_s AS s2 WHERE s1.t <=> s2.t;
+------+------+------+------+
| b | t | b | t |
+------+------+------+------+
| 1 | blue | 1 | blue |
| 1 | NULL | 1 | NULL |
| 0 | red | 0 | red |
+------+------+------+------+Last modified: