谈谈SQL Server中JSON_VALUE的用法

今天看同事代码的时候不是很理解这段代码里面JSON_VALUE的作用,我查了下对应的数据库信息以及程序打印出来的结果,用我自己理解的话整理了出来。
	sql.Append(" SELECT JSON_VALUE(A.Region, '$.nx')  AS  RegionX,JSON_VALUE(A.Region, '$.ny') AS RegionY, JSON_VALUE(A.Region, '$.nw') AS RegionW,  ");
    sql.Append("  JSON_VALUE(A.Region, '$.nh') AS RegionH , JSON_VALUE(A.Region, '$.ni') AS  RegionI ");
    sql.Append("FROM  tb_UserLayouts as A  WHERE UserId=@UserId ");


接下来我去查看了数据库中tb_UserLayouts这个表中的 Region列,内容如下:
Json数据列
上面的Region列是一个json数据列,以上面语句第一个JSON_VALUE为例:
select JSON_VALUE(A.Region, ‘$.nx’) as RegionX
$.nx表示取这个列中nx的值,结果为1。后面的as操作把这个值传给新命名的RegionX列,查询出来结果应为"regionX": “1”

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐