Details
Description
Unexpected behavior when comparing some results with the JSON_EXTRACT function.
|
MariaDB |
MariaDB [(none)]> SELECT VERSION(); |
+-----------------+ |
| VERSION() |
|
+-----------------+ |
| 10.6.9-MariaDB |
|
+-----------------+ |
1 row in set (0.000 sec) |
|
|
MariaDB [(none)]> SELECT |
-> JSON_VALID('"MariaDB"'), |
-> JSON_TYPE('"MariaDB"'), |
-> JSON_EXTRACT('"MariaDB"', '$'), |
-> JSON_EXTRACT('"MariaDB"', '$') = JSON_EXTRACT('"MariaDB"', '$'), -- I would expect 1 |
-> JSON_EXTRACT('"MariaDB"', '$') <=> JSON_EXTRACT('"MariaDB"', '$'), -- I would expect 1 |
-> JSON_EXTRACT('"MariaDB"', '$') IN ('"MariaDB"'), -- I would expect 1 |
-> '"MariaDB"' IN (JSON_EXTRACT('"MariaDB"', '$')), -- I would expect 1 |
-> JSON_EXTRACT('"MariaDB"', '$') IN ('MariaDB'), -- I would expect 0 |
-> 'MariaDB' IN (JSON_EXTRACT('"MariaDB"', '$'))\G -- I would expect 0 |
*************************** 1. row ***************************
|
JSON_VALID('"MariaDB"'): 1 |
JSON_TYPE('"MariaDB"'): STRING |
JSON_EXTRACT('"MariaDB"', '$'): "MariaDB" |
JSON_EXTRACT('"MariaDB"', '$') = JSON_EXTRACT('"MariaDB"', '$'): 0 |
JSON_EXTRACT('"MariaDB"', '$') <=> JSON_EXTRACT('"MariaDB"', '$'): 0 |
JSON_EXTRACT('"MariaDB"', '$') IN ('"MariaDB"'): 0 |
'"MariaDB"' IN (JSON_EXTRACT('"MariaDB"', '$')): 0 |
JSON_EXTRACT('"MariaDB"', '$') IN ('MariaDB'): 1 |
'MariaDB' IN (JSON_EXTRACT('"MariaDB"', '$')): 1 |
1 row in set (0.001 sec) |
May be related to: Comparison of JSON_EXTRACT result differs with Mysql.
Attachments
Issue Links
- is duplicated by
-
MDEV-40966 JSON Extracted Values Break Equality-Comparison Reflexivity (X = X is FALSE, JOIN/IN Drop Rows)
-
- Closed
-
- relates to
-
MDEV-40975 IN lists with ≥2 elements are constantly false (single element works, OR expansion works)
-
- Confirmed
-