sql - 选择查询以在一行中打印为 JSON 列表
问题描述
如何在单行中打印字符串列表中的名称?
假设我有这样的数据:
SELECT XName FROM X_Table --(table has other columns too)
XName
-------------
Foo
Bar
如何获得这样的值:
["foo", "bar"]
解决方案
我认为您正在查看 JSON 转换和反转换语法的组合,如下所示
Declare @js nvarchar(max)
SET @js= (SELECT XName FROM X_Table for json path)
select * from OPENJSON (@js) WITH ( Xname nvarchar(max) N'$.XName')
如果你想避免使用变量@js,你可以这样做
select * from OPENJSON
((SELECT XName FROM XTable for json path))-- note double parenthesis
WITH ( Xname nvarchar(max) N'$.XName')
推荐阅读
- javascript - 如何在反应中加载/渲染 php 文档?
- javascript - Firebase 可调用函数 + CORS
- java - 谁执行 HBase 过滤器?
- javascript - 多个 eventListener 和 innerHTML 数据文本不能正常工作?
- javascript - yarn 和 npm 的主要区别是什么?
- java - 删除具有重复字段值的 entrySet 对象
- javascript - 固定位置偏移顶部和底部
- python - VS Code、Python、Intellisense 和导入模块为
- javascript - 如何使用 Pug/Jade 显示外部 JSON?
- date - 将字符串解析为日期,Groovy