VastbaseG100

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

Menu

JSON_VALID

功能描述

Vastbase在MySQL兼容模式下,支持JSON_VALID函数,用于判读输入值是否为合法的JSON数据。如果输入值是合法的JSON数据则返回1,否则返回0。

语法格式

JSON_VALID(val)

参数说明

val

输入值。

当输入值为null时,返回null。

注意事项

该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。

示例

示例1:直接调用函数。

select json_valid('"sss"');

返回结果分别为:

json_valid
------------
          1
(1 row)

示例2:在DML中使用JSON_VALID函数。

1、创建表。

CREATE TABLE tab_1116530(id int,a int,c text default json_valid('9'));

2、插入数据。

INSERT INTO tab_1116530 VALUES(8,json_valid('1'),'"a"');
INSERT INTO tab_1116530 VALUES('2',json_valid('1'),'"s"');
INSERT INTO tab_1116530 VALUES('2',9);

3、查看数据。

SELECT * FROM tab_1116530;

返回结果为:

 id | a |  c
----+---+-----
  8 | 1 | "a"
  2 | 1 | "s"
  2 | 9 | 1
(3 rows)

4、在select语句中使用JSON_VALID函数。

SELECT id,json_valid(id) FROM tab_1116530;

返回结果为:

 id | json_valid
----+------------
  8 |          0
  2 |          0
  2 |          0
(3 rows)

5、更新并查看数据。

UPDATE tab_1116530 set id=3 WHERE json_valid(id)=0;
SELECT * FROM tab_1116530;

返回结果为:

 id | a |  c
----+---+-----
  3 | 1 | "a"
  3 | 1 | "s"
  3 | 9 | 1
(3 rows)

6、删除并查看数据。

DELETE FROM tab_1116530 WHERE json_valid(id)=0;
SELECT * FROM tab_1116530;

返回结果为:

 id | a | c
----+---+---

(0 rows)

5、清理数据。

DROP TABLE tab_1116530;