JSON 实用函数
TiDB 支持 MySQL 8.0 中所有的 JSON 实用函数。
JSON_PRETTY()
JSON_PRETTY(json_doc) 函数用于对 JSON 文档进行美化格式化。
SELECT JSON_PRETTY('{"person":{"name":{"first":"John","last":"Doe"},"age":23}}')\G
*************************** 1. row ***************************
JSON_PRETTY('{"person":{"name":{"first":"John","last":"Doe"},"age":23}}'): {
"person": {
"age": 23,
"name": {
"first": "John",
"last": "Doe"
}
}
}
1 row in set (0.00 sec)
JSON_STORAGE_FREE()
JSON_STORAGE_FREE(json_doc) 函数返回在原地更新 JSON 值后,其二进制表示中释放的存储空间大小。
SELECT JSON_STORAGE_FREE('{}');
+-------------------------+
| JSON_STORAGE_FREE('{}') |
+-------------------------+
| 0 |
+-------------------------+
1 row in set (0.00 sec)
JSON_STORAGE_SIZE()
JSON_STORAGE_SIZE(json_doc) 函数返回存储该 JSON 值所需的字节数的近似值。由于该大小未考虑 TiKV 的压缩机制,因此该函数的输出与 MySQL 并不完全兼容。
SELECT JSON_STORAGE_SIZE('{}');
+-------------------------+
| JSON_STORAGE_SIZE('{}') |
+-------------------------+
| 9 |
+-------------------------+
1 row in set (0.00 sec)