Collections:
JSON_TYPE() - Detecting Type of JSON Value
How to detect the type of a JSON (JavaScript Object Notation) value using the JSON_TYPE() function?
✍: FYIcenter.com
JSON_TYPE(json) is a MySQL built-in function that
returns the data type of a JSON (JavaScript Object Notation) value.
For example:
SELECT JSON_TYPE('[]'), JSON_TYPE('{}');
-- +-----------------+-----------------+
-- | JSON_TYPE('[]') | JSON_TYPE('{}') |
-- +-----------------+-----------------+
-- | ARRAY | OBJECT |
-- +-----------------+-----------------+
SELECT JSON_TYPE('null'), JSON_TYPE('true');
-- +-------------------+-------------------+
-- | JSON_TYPE('null') | JSON_TYPE('true') |
-- +-------------------+-------------------+
-- | NULL | BOOLEAN |
-- +-------------------+-------------------+
SELECT JSON_TYPE('"FYI"'), JSON_TYPE('999');
-- +--------------------+------------------+
-- | JSON_TYPE('"FYI"') | JSON_TYPE('999') |
-- +--------------------+------------------+
-- | STRING | INTEGER |
-- +--------------------+------------------+
Note that JSON_TYPE() does not return the official type NUMERIC on JSON numeric scalars. It actually returns the MySQL data type of any JSON numeric scalar. For example:
SELECT JSON_TYPE('999'), JSON_TYPE('9.99');
-- +------------------+-------------------+
-- | JSON_TYPE('999') | JSON_TYPE('9.99') |
-- +------------------+-------------------+
-- | INTEGER | DOUBLE |
-- +------------------+-------------------+
Also note that the argument must be a valid JSON encoded MySQL string. Other MySQL values will result an error.
SELECT JSON_TYPE(999); ERROR 3146 (22032): Invalid data type for JSON data in argument 1 to function json_type; a JSON string or JSON type is required.
Reference information of the JSON_TYPE() function:
JSON_TYPE(json): int Returns the data type of a JSON (JavaScript Object Notation) value. Arguments, return value and availability: json: Required. The JSON value to be observed. int: Return value. The data type of the JSON value. Available since MySQL 5.7.
⇒ JSON_UNQUOTE() - Unquoting JSON String
⇐ JSON_TABLE() - Inline Table with JSON Array
2025-03-12, 2203🔥, 0💬
Popular Posts:
What Are the Differences between DATE and TIMESTAMP in Oracle? The main differences between DATE and...
How to connect SQL Server Management Studio Express to SQL Server 2005 Express in SQL Server? Once y...
Is SQL Server Transact-SQL case sensitive? No. Transact-SQL is not case sensitive. Like the standard...
How to continue to the next iteration of a WHILE loop in SQL Server Transact-SQL? How to use CONTINU...
What are single-byte character string data types supported in SQL Server Transact-SQL? Single-byte c...