MySQL JSON_TYPE() 函数使用指南
MySQL JSON_TYPE()
函数返回一个给定的 JSON 值的类型。
JSON_TYPE()
语法
这里是 MySQL JSON_TYPE()
的语法:
JSON_TYPE(json_value)
参数
json_value
- 必需的。一个 JSON 值。
返回值
JSON_TYPE()
函数返回一个 utf8mb4
字符串,它代表了给定的 JSON 值的类型。JSON_TYPE()
函数将返回下面值中的一个:
OBJECT
: JSON 对象ARRAY
: JSON 数组BOOLEAN
: JSON 布尔值NULL
: JSONnull
值INTEGER
: MySQLTINYINT
,SMALLINT
,MEDIUMINT
,INT
和BIGINT
类型的值DOUBLE
: MySQLDOUBLE
和FLOAT
类型的值DECIMAL
: MySQLDECIMAL
和NUMERIC
类型的值DATETIME
: MySQLDATETIME
和TIMESTAMP
类型的值DATE
: MySQLDATE
类型的值TIME
: MySQLTIME
类型的值STRING
: MySQLCHAR
,VARCHAR
,TEXT
,ENUM
和SET
BLOB
: MySQLBINARY
,VARBINARY
,BLOB
和BIT
OPAQUE
: 以上之外的类型
如果参数为 NULL
,此函数将返回 NULL
。
如果参数不是有效的 JSON 文档,MySQL 将会给出错误。您可以使用 JSON_VALID()
验证 JSON 文档的有效性。
JSON_TYPE()
示例
这里列出了几个常见的 JSON_TYPE()
用法示例。
示例 1
SELECT JSON_TYPE('true'), JSON_TYPE('null'), JSON_TYPE('"abc"');
+-------------------+-------------------+--------------------+
| JSON_TYPE('true') | JSON_TYPE('null') | JSON_TYPE('"abc"') |
+-------------------+-------------------+--------------------+
| BOOLEAN | NULL | STRING |
+-------------------+-------------------+--------------------+
示例 2: 数字
SELECT JSON_TYPE('1'), JSON_TYPE('1.23');
+----------------+-------------------+
| JSON_TYPE('1') | JSON_TYPE('1.23') |
+----------------+-------------------+
| INTEGER | DOUBLE |
+----------------+-------------------+
示例 3: 数组
SELECT JSON_TYPE('[]'), JSON_TYPE('[1, 2]');
+-----------------+---------------------+
| JSON_TYPE('[]') | JSON_TYPE('[1, 2]') |
+-----------------+---------------------+
| ARRAY | ARRAY |
+-----------------+---------------------+
示例 4: 对象
SELECT JSON_TYPE('{}'), JSON_TYPE('{"x": 1}');
+-----------------+-----------------------+
| JSON_TYPE('{}') | JSON_TYPE('{"x": 1}') |
+-----------------+-----------------------+
| OBJECT | OBJECT |
+-----------------+-----------------------+