如何使用空间以JSON使用OPENJSON在SQL Server 2016
问题描述:
我如何读取从该字段名称JSON文件读取值字段名称包含在SQL服务器2016使用OPENJSON空间。请参阅以下代码:如何使用空间以JSON使用OPENJSON在SQL Server 2016
DECLARE @json NVARCHAR(MAX)
SET @json = N'{ "full name" : "Jayesh Tank"}';
SELECT * FROM OPENJSON(@json) WITH ([name] [varchar](60) '$.full name')
此外,该空间中的另一个示例代码位于字段名称后面。
SET @json = N'{ "name " : "abc"}';
SELECT * FROM OPENJSON(@json) WITH ([name] [varchar](60) '$.name')
'$.name'
将返回null.Is是否有读取此值的方法?
答
通常在属性名称中使用空格是一个坏主意。
我会在您的OPENJSON名称和varchar(60) - 源MSDN OPENJSON中省略[
]
。
我们真正回答你的问题:
您需要格式化用双引号的属性WITH
子句中:
@DECLARE @json NVARCHAR(MAX);
SET @json=N'{ "full name" : "Jayesh Tank"}';
SELECT * FROM OPENJSON(@json) WITH (name varchar(60) '$."full name"')
对于第二个:
SET @json = N'{ "name " : "abc"}';
SELECT * FROM OPENJSON(@json) WITH (name varchar(60)'$."name "')
谢谢。工作:) –
@ user2025537伟大:0)。请接受答案 - https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work。谢谢 – tukan