Details
-
Type:
Bug
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: 10.0.14, 10.1.1
-
Fix Version/s: 10.1
-
Component/s: None
-
Labels:None
Description
DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a YEAR(2)); INSERT INTO t1 VALUES (0); SELECT a,NULLIF(a,2000),CASE a WHEN 2000 THEN NULL ELSE 2000 END FROM t1;
returns
+------+----------------+------------------------------------------+ | a | NULLIF(a,2000) | CASE a WHEN 2000 THEN NULL ELSE 2000 END | +------+----------------+------------------------------------------+ | 00 | NULL | 2000 | +------+----------------+------------------------------------------+
The result for CASE looks wrong. It should return NULL, similar to what NULLIF does.
Note, if I slightly rewrite CASE, it works fine:
mysql> SELECT CASE WHEN a=2000 THEN NULL ELSE 2000 END FROM t1; +------------------------------------------+ | CASE WHEN a=2000 THEN NULL ELSE 2000 END | +------------------------------------------+ | NULL | +------------------------------------------+
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions