mssql2022 新json语法

本文介绍了SQL Server 2022中新增的JSON_PATH_EXISTS、JSON_OBJECT和JSON_ARRAY三个函数。JSON_PATH_EXISTS用于检查JSON路径是否存在,返回1或0;JSON_OBJECT则用于创建JSON对象,而JSON_ARRAY用于生成JSON数组。文中虽然提到这些函数的实用性可能不明显,但作者计划进一步探索其潜在用途。
摘要由CSDN通过智能技术生成

一、JSON_PATH_EXISTS

        返回 1 或 0 的位值,或返回 NULL。 如果 value_expression 或输入为 SQL NULL 值,则返回 NULL。 如果输入中存在给定的 SQL/JSON 路径,则返回 1,或者返回非空序列。 否则将返回 0。

看起来好像用处不大,下面给个例子:

DECLARE @jsonInfo NVARCHAR(MAX)

SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.address'); -- 1

SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.addresses'); -- 0

二、JSON_OBJECT

SELECT s.session_id, 
JSON_OBJECT('security_id':s.security_id, 'login':s.login_name, 'status':s.status) as info
FROM sys.dm_exec_sessions AS s
WHERE s.is_user_process = 1;

返回

session_idinfo
51{"security_id":"AQYAAAAAAAVQAAAAY/0dmFnai5oioQHh9eNArBIkYd4=","login":"NT SERVICE\\SQLTELEMETRY$SQL22","status":"sleeping"}
52{"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"}

三、JSON_ARRAY

SELECT s.session_id, JSON_ARRAY(s.host_name, s.program_name, s.client_interface_name)
FROM sys.dm_exec_sessions AS s
WHERE s.is_user_process = 1;

返回

session_idinfo
52["WIN16-VM","Microsoft SQL Server Management Studio - Query",".Net SqlClient Data Provider"]
55["WIN16-VM","Microsoft SQL Server Management Studio - Query",".Net SqlClient Data Provider"]
56["WIN19-VM","SQLServerCEIP",".Net SqlClient Data Provider"]

二、三貌似还可以,等我想到有什么用处再和大家交流

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xzfyes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值