KingbaseES中json函数的介绍
关键字:
KingbaseES、json、人大金仓
json相关操作函数各数据库产品,以及KES中不同数据库模式下支持的都有不同,下表为目前调研PG、Mysql、Oracle、DM、OpenGauss数据库产品以及KES的Mysql和Oracle模式下对json函数的支持情况。
蓝色为Mysql支持的JSON函数,黄色为Oracle支持的JSON函数,黑色为pg支持的JSON函数。红色为Mysql与Oracle均支持的JSON函数。
表1 各数据库支持的JSON函数一览表
名称 | PG | Mysql | Oracle | KES-Mysql | KES-Oracle | DM | OpenGauss |
---|---|---|---|---|---|---|---|
JSON_ARRAY | √ | √ | √ | √ | √ | √ | |
JSON_ARRAYAGG | √ | √ | √ | √ | √ | ||
JSON_ARRAY_APPEND | √ | √ | √ | ||||
JSON_ARRAY_INSERT | √ | √ | √ | ||||
JSON_CONTAINS | √ | √ | √ | √ | |||
JSON_CONTAINS_PATH | √ | √ | √ | √ | |||
JSON_DEPTH | √ | √ | √ | ||||
JSON_EXTRACT | √ | √ | √ | √ | |||
JSON_INSERT | √ | √ | √ | √ | |||
JSON_KEYS | √ | √ | √ | √ | |||
JSON_LENGTH | √ | √ | √ | ||||
JSON_MERGE | √ | √ | |||||
JSON_MERGE_PATCH | √ | √ | √ | ||||
JSON_MERGE_PRESERVE | √ | √ | √ | ||||
JSON_OBJECT | √ | √ | √ | √ | √ | √ | |
JSON_OBJECTAGG | √ | √ | √ | √ | √ | ||
JSON_OVERLAPS | √ | √ | |||||
JSON_PRETTY | √ | √ | |||||
JSON_QUOTE | √ | √ | √ | ||||
JSON_REMOVE | √ | √ | √ | ||||
JSON_REPLACE | √ | √ | √ | √ | |||
JSON_SCHEMA_VALID | √ | ||||||
JSON_SCHEMA_VALIDATION_REPORT | √ | ||||||
JSON_SEARCH | √ | √ | √ | ||||
JSON_SET | √ | √ | √ | √ | |||
JSON_STORAGE_FREE | √ | ||||||
JSON_STORAGE_SIZE | √ | √ | |||||
JSON_TABLE | √ | √ | √ | √ | √ | ||
JSON_TYPE | √ | √ | √ | √ | |||
JSON_UNQUOTE | √ | √ | √ | √ | |||
JSON_VALID | √ | √ | √ | ||||
JSON_VALUE | √ | √ | √ | √ | √ | ||
MEMBER OF | √ | ||||||
JSON_EQUAL | √ | √ | |||||
JSON_EXISTS | √ | √ | |||||
JSON_TEXTCONTAINS | √ | ||||||
JSON Type Constructor | √ | √ | |||||
JSON_DATAGUIDE | √ | ||||||
JSON_MERGEPATCH | √ | ||||||
JSON_QUERY | √ | √ | √ | ||||
JSON_SCALAR | √ | √ | |||||
JSON_SERIALIZE | √ | √ | |||||
JSON_TRANSFORM | √ | ||||||
to_json(b) | √ | √ | √ | √ | √ | ||
array_to_json | √ | √ | √ | √ | |||
row_to_json | √ | √ | √ | √ | |||
json(b)_build_array | √ | √ | √ | √ | √ | ||
json(b)_build_object | √ | √ | √ | √ | √ | ||
json(b)_object | √ | √ | √ | √ | |||
json(b)_array_length | √ | √ | √ | √ | |||
json(b)_each | √ | √ | √ | √ | √ | ||
json(b)_each_text | √ | √ | √ | √ | √ | ||
json(b)_extract_path | √ | √ | √ | √ | |||
json(b)_extract_path_text | √ | √ | √ | √ | |||
json(b)_object_keys | √ | √ | √ | √ | √ | ||
json(b)_populate_record | √ | √ | √ | √ | |||
json(b)_populate_recordset | √ | √ | √ | √ | |||
json(b)_array_elements | √ | √ | √ | √ | √ | ||
json(b)_array_elements_text | √ | √ | √ | √ | √ | ||
json(b)_typeof | √ | √ | √ | √ | √ | ||
json(b)_to_record | √ | √ | √ | √ | |||
json(b)_to_recordset | √ | √ | √ | √ | |||
json(b)_strip_nulls | √ | √ | √ | √ | |||
json(b)_set | √ | √ | √ | √ | |||
jsonb_insert | √ | √ | √ | ||||
jsonb_pretty | √ | √ | √ | ||||
jsonb_path_exists | √ | √ | √ | ||||
jsonb_path_match | √ | √ | √ | ||||
jsonb_path_query | √ | √ | √ | ||||
jsonb_path_query_array | √ | √ | √ | ||||
jsonb_path_query_first | √ | √ | √ | ||||
jsonb_concat | √ | √ | √ | ||||
json(b)_agg | √ | √ | √ | √ | |||
json(b)_object_agg | √ | √ | √ | √ | √ |
从各数据库支持的JSON函数一览表中可以看出,在JSON函数方面,KES兼容了大部分函数的功能,对pg、mysql 以及Oracle兼容率在90%以上。 更多信息,参见https://help.kingbase.com.cn/v8/index.html