Concept Flow - NULLIF function
Start
Evaluate expr1
Evaluate expr2
Compare expr1 and expr2
Return NULL
End
NULLIF compares two expressions; if they are equal, it returns NULL, otherwise it returns the first expression.
SELECT NULLIF(5, 5) AS result1, NULLIF(5, 3) AS result2;
| Step | Expression 1 | Expression 2 | Comparison Result | Return Value |
|---|---|---|---|---|
| 1 | 5 | 5 | Equal | NULL |
| 2 | 5 | 3 | Not Equal | 5 |
| 3 | - | - | - | Execution ends |
| Variable | Start | After Step 1 | After Step 2 | Final |
|---|---|---|---|---|
| expr1 | 5 | 5 | 5 | 5 |
| expr2 | 5 or 3 | 5 | 3 | 3 |
| return_value | undefined | NULL | 5 | 5 |
NULLIF(expr1, expr2) - Compares expr1 and expr2 - Returns NULL if equal - Returns expr1 if not equal - Useful to avoid division by zero or replace values - Simple conditional return function