MySQL 8.3 Release Notes
Table 14.22 JSON Functions
Name | Description | Deprecated |
---|---|---|
-> |
Return value from JSON column after evaluating path; equivalent to JSON_EXTRACT(). | |
->> |
Return value from JSON column after evaluating path and unquoting the result; equivalent to JSON_UNQUOTE(JSON_EXTRACT()). | |
JSON_ARRAY() |
Create JSON array | |
JSON_ARRAY_APPEND() |
Append data to JSON document | |
JSON_ARRAY_INSERT() |
Insert into JSON array | |
JSON_CONTAINS() |
Whether JSON document contains specific object at path | |
JSON_CONTAINS_PATH() |
Whether JSON document contains any data at path | |
JSON_DEPTH() |
Maximum depth of JSON document | |
JSON_EXTRACT() |
Return data from JSON document | |
JSON_INSERT() |
Insert data into JSON document | |
JSON_KEYS() |
Array of keys from JSON document | |
JSON_LENGTH() |
Number of elements in JSON document | |
JSON_MERGE() |
Merge JSON documents, preserving duplicate keys. Deprecated synonym for JSON_MERGE_PRESERVE() | Yes |
JSON_MERGE_PATCH() |
Merge JSON documents, replacing values of duplicate keys | |
JSON_MERGE_PRESERVE() |
Merge JSON documents, preserving duplicate keys | |
JSON_OBJECT() |
Create JSON object | |
JSON_OVERLAPS() |
Compares two JSON documents, returns TRUE (1) if these have any key-value pairs or array elements in common, otherwise FALSE (0) | |
JSON_PRETTY() |
Print a JSON document in human-readable format | |
JSON_QUOTE() |
Quote JSON document | |
JSON_REMOVE() |
Remove data from JSON document | |
JSON_REPLACE() |
Replace values in JSON document | |
JSON_SCHEMA_VALID() |
Validate JSON document against JSON schema; returns TRUE/1 if document validates against schema, or FALSE/0 if it does not | |
JSON_SCHEMA_VALIDATION_REPORT() |
Validate JSON document against JSON schema; returns report in JSON format on outcome on validation including success or failure and reasons for failure | |
JSON_SEARCH() |
Path to value within JSON document | |
JSON_SET() |
Insert data into JSON document | |
JSON_STORAGE_FREE() |
Freed space within binary representation of JSON column value following partial update | |
JSON_STORAGE_SIZE() |
Space used for storage of binary representation of a JSON document | |
JSON_TABLE() |
Return data from a JSON expression as a relational table | |
JSON_TYPE() |
Type of JSON value | |
JSON_UNQUOTE() |
Unquote JSON value | |
JSON_VALID() |
Whether JSON value is valid | |
JSON_VALUE() |
Extract value from JSON document at location pointed to by path provided; return this value as VARCHAR(512) or specified type | |
MEMBER OF() |
Returns true (1) if first operand matches any element of JSON array passed as second operand, otherwise returns false (0) |
MySQL supports two aggregate JSON functions JSON_ARRAYAGG()
and JSON_OBJECTAGG()
. See Section 14.19, “Aggregate Functions”, for descriptions of these.
MySQL also supports “pretty-printing” of JSON values in an easy-to-read format, using the JSON_PRETTY()
function. You can see how much storage space a given JSON value takes up, and how much space remains for additional storage, using JSON_STORAGE_SIZE()
and JSON_STORAGE_FREE()
, respectively. For complete descriptions of these functions, see Section 14.17.8, “JSON Utility Functions”.