Skip to main content

JSON_ARRAY_PUSH_<type>

This is a set of three JSON functions, which add the given element to the end of a JSON array.

Arrays are of the form:

["alpha", "beta", "gamma"]
["alpha", 1, 2, 3]
  • JSON_ARRAY_PUSH_DOUBLE is for all numeric data. Javascript has only one numeric type.

  • JSON_ARRAY_PUSH_STRING is for all text and binary types.

  • JSON_ARRAY_PUSH_JSON is for all valid Javascript types, including true, false, JSON maps, and lists.

JSON_ARRAY_PUSH_<type>(json, value)

Arguments

  • json: a valid JSON array, or the name of a JSON column.

  • value: the value to add to the array.

Return Value

  • The complete array including the new element.

  • SQL NULL if json is not a valid JSON array.

Examples

SELECT JSON_ARRAY_PUSH_STRING('["alpha", "beta"]', 'gamma') AS add_letters;

****
+--------------------------+
| add_letters              |
+--------------------------+
| ["alpha","beta","gamma"] |
+--------------------------+

SELECT JSON_ARRAY_PUSH_STRING("0", "beta") AS add_letters;

****
+-------------+
| add_letters |
+-------------+
| NULL        |
+-------------+

SELECT JSON_ARRAY_PUSH_DOUBLE('[1, 2, 3]', 'delta') AS position;

****
+-----------+
| position  |
+-----------+
| [1,2,3,0] |
+-----------+

SELECT JSON_ARRAY_PUSH_JSON('["alpha", false]', '{"beta":"gamma"}') AS add_map;

****
+-------------------+
| add_map           |
+-------------------+
| ["alpha",false,   |
| {"beta":"gamma"}] |
+-------------------+