- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL 查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查询
- SQL - 删除查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接 vs 右连接
- SQL - Union vs Join
- SQL 密钥
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 组合键
- SQL - 备用键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 集群索引
- SQL - 非集群索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - Min & Max
- SQL - Null 函数
- SQL - 检查约束
- SQL - 默认约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - Group By vs Order By
- SQL - IN vs EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
SQL - JSON_QUERY() 函数
内置的 SQL JSON_QUERY() 函数用于从 JSON 对象中提取数据。该函数用于从 JSON 字符串或表中的列中提取标量(单个)值或整个 JSON 对象。
如果 JSON_QUERY() 在找到路径之前发现表达式中无效的 JSON,则会返回错误;如果它不是对象或数组,则会以不同的模式返回值,例如 -
在宽松模式下,JSON_QUERY 返回 null。
在严格模式下,JSON_QUERY 返回错误。
语法
以下是 SQL JSON_QUERY() 函数的语法 -
JSON_QUERY ( expression [ , path ] )
参数
expression - 它通常是包含 JSON 文本的列或变量的名称。
path - 指定要提取的属性的 JSON 路径。JSON 路径可以是宽松或严格模式进行解析。如果未指定解析模式,则默认使用宽松模式。
示例
让我们使用以下查询从 JSON 变量中检索第一个客户 -
DECLARE @work VARCHAR(4000);
SET @work = N'{"customers":
[
{"Name": "HELLO", "Age": 23, "Department": "Mechnical"},
{"Name": "WORLD", "Age": 25, "Department": "BBA"}
]
}';
SELECT JSON_QUERY(@work, '$.customers[0]') AS Result;
输出
当我们执行上述查询时,将获得如下输出 -
+---------------------------------------------------------+
| Result |
+---------------------------------------------------------+
| {"Name": "HELLO", "Age": 23, "Department": "Mechnical"} |
+---------------------------------------------------------+
示例
在下面的示例中,我们将指定宽松路径模式以返回标量值,并且它返回 NULL,因为 JSON_QUERY() 不执行标量值,因为它仅返回对象和数组 -
SELECT JSON_QUERY('{"car": "RX100"}', 'lax $.car') AS 'Result';
输出
当我们执行上述查询时,将获得如下输出 -
+------------------------------------+ | Result| +------------------------------------+ | NULL | +------------------------------------+
示例
让我们考虑另一种情况,我们将使用严格路径模式并使用以下查询获取输出 -
SELECT JSON_QUERY('{"car": "RX100"}', 'strict $.car') AS 'Result';
输出
当我们执行上述查询时,将获得如下输出 -
Object or array cannot be found in the specified JSON path.
示例
让我们看一下下面的示例,我们将使用以下查询提取列 -
DECLARE @work VARCHAR(150)
= '{"Item":"Iphone 13",
"Price":70000,
"Color":["Green", "Pink", "White"]}'
SELECT JSON_QUERY(@work,'$.Color') AS Result
输出
执行上述查询后,将显示如下输出 -
+----------------------------------------------+ | Result | +----------------------------------------------+ | ["Green", "Pink", "White"] | +----------------------------------------------+
示例
让我们考虑另一种情况,我们将从 JSON 字符串中检索标量值并使用以下查询检查结果 -
DECLARE @work VARCHAR(150)
= '{"Item":"Iphone 13",
"Price":70000,
"Color":["Green", "Pink", "White"]}'
SELECT JSON_QUERY(@work,'$.Item') AS Result
输出
执行上述查询后,将显示如下输出 -
+------------------------------------+ | Result| +------------------------------------+ | NULL | +------------------------------------+
示例
让我们看一下下面的示例,我们将使用以下查询检索完整的 JSON 字符串 -
DECLARE @work VARCHAR(150)
= '{"Item":"Iphone 13",
"Price":70000,
"Color":["Green", "Pink", "White"]}'
SELECT JSON_QUERY(@work,'$') AS Result
输出
执行上述查询后,将显示如下输出 -
+----------------------------------------------------------------------------------------------------------------+
| Result |
+----------------------------------------------------------------------------------------------------------------+
| {"Item":"Iphone 13", "Price":70000, "Color":["Green", "Pink", "White"]} |
+----------------------------------------------------------------------------------------------------------------+
sql-json-functions.htm
广告