国产数据库对JSON字段的支持

2023-08-05 10:02 阅读

JSON字段在不规则数据结构中有重要作用,典型的如自定义字段、自定义表单等。

达梦数据库

达梦8的JSON数据以字符串方式存储,即varchar2,最大长度为8000字节;或clob,最大长度为100G-1字节。

一般建议加上IS JSON约束进行检查:

c2 varchar2(100) CHECK (c2 IS JSON(STRICT)) -- 严格模式
c3 varchar2(100) CHECK (c3 IS JSON(LAX)) -- 宽松模式(默认模式)

查询方式:

select json_value('{"aaa":123,"bbb":"abc"}','$.aaa'); -- 获取字段值
select '{"aaa":[1,2,3,4]}' @> '{"aaa":[2]}'; -- 判断是否包含某个数组值

oracle的用法类似:Oracle JSON Developer’s Guide

oracle使用JSON_EXISTS代替@>用于判断是否存在某个值。

KingBase

KingbaseES为存储JSON数据提供了两种类型: JSONJSONB,一般应该使用JSONB,支持更多的操作。

支持-> ->>@>运算符

PostgreSQL也类似。PostgreSQL JSON Functions and Operators

Kingbase JSON 类型

MySQL

MySQL 5.7.8 支持原生的 JSON 数据类型。

MySQL中支持使用JSON_EXTRACT()函数以及->,->>操作符来获取JSON内部的元素。支持@>操作。

MySQL JSON Data Type

SqlServer

SqlServer2016支持json操作。SQL Server 中的 JSON 数据

咨询
交流群
电话