
对于需要储存的数据检查其是否为 json 文本,可以加入 IS JSON 条件进行判断。可以在建
表的过程中加入到检查约束中进行判断,也可以在插入数据时添加条件,对于插入的数据进
行筛选。
create table TEST3(ID int,INFO varchar(100) constraint json_check
check (INFO is json));
insert into TEST3 values (1,'{"db_name":"DM","version":8}');
符合 json 数据格式的值会被存储下来,而错误的格式在插入数据时不能满足 IS JSON 的检
查约束,会提示“违反 CHECK 约束[JSON_CHECK]”。
insert into TEST3 values (2,'{"db_name":"DM","version":8,????:!!!!}');
insert into TEST3 values (3,'DAMENG');
如果不添加约束,也可以在条件中筛选 json 格式的数据,例如在下面的示例中我们创建
TEST4 表,并插入四行数据,其中两行符合 json 数据的合法性。
create table TEST4(ID int,INFO varchar(100));
insert into TEST4 values (1,'{"db_name":"DM","version":8}');
insert into TEST4 values
(2,'{"db_name":"DM","version":8,????:!!!!}');
insert into TEST4 values (3,'DAMENG');
insert into TEST4 values (4,'["DAMENG",8,true,null]');
而在创建 TEST5 表的时候在 where 子句中带上对于 json 数据的检查条件,可以仅将符合
评论