== Short ==
JSON null value should be converted to SQL NULL value, but it is converted to 0
or "null" instead:

== Long ==

select * from
json_table(
  '[{"a":"aa"}, {"b":null}]',
  '$[*]' columns (
      col1 int path '$.b' default '456' on empty
   )
) as tt;

MariaDB:
+------+
| col1 |
+------+
|  456 |
|    0 |
+------+

MySQL and OracleDB:
+------+
| col1 |
+------+
| 456  |
| NULL |
+------+

If I change "col1 int" into "col1 varchar(100)", I get a string with "null". 
I think this is incorrect and should be fixed.

AFAIU, SQL Standard describes it here: see my previous email, then look at
section 9.40, 4.b.ii:

ii) If I is the SQL/JSON null, then let V be the SQL null value.

BR
 Sergei
-- 
Sergei Petrunia, Software Developer
MariaDB Corporation | Skype: sergefp | Blog: http://petrunia.net



_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to