VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

JSON_STORAGE_SIZE

功能描述

JSON_STORAGE_SIZE函数返回用于存储JSON文档的二进制字节数。

注意事项

  • 该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
  • 根据实际存储方式的差异,调用Vastbase内部函数计算json在Vastbase中的具体存储大小,其结果与MySQL不同。

语法格式

JSON_STORAGE_SIZE(json_val)

参数说明

json_val

JSON文档,它可以是一个JSON字符串,或者一个JSON列。

示例

1、创建测试表并插入一条数据。

CREATE TABLE table_1160258 (json_col JSON NOT NULL);
INSERT INTO table_1160258 VALUES ('{"x": 1, "y": 2}');

2、在SELECT语句中使用JSON_STORAGE_SIZE函数。

SELECT json_col,JSON_STORAGE_SIZE(json_col) FROM table_1160258;

返回结果为:

     json_col     | json_storage_size
------------------+-------------------
 {"x": 1, "y": 2} |                17
(1 row)

3、更新表数据。

UPDATE table_1160258 SET json_col = '{"x": 1, "y": 2, "z": 3}';

4、再次执行步骤二查询语句。

SELECT json_col,JSON_STORAGE_SIZE(json_col) FROM table_1160258;

返回结果为:

         json_col         | json_storage_size
--------------------------+-------------------
 {"x": 1, "y": 2, "z": 3} |                25
(1 row)

5、清理环境。

DROP TABLE table_1160258;