2017-07-27 36 views
0

我如何讀取從該字段名稱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是否有讀取此值的方法?

回答

2

通常在屬性名稱中使用空格是一個壞主意。

我會在您的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 "') 
+0

謝謝。工作:) –

+0

@ user2025537偉大:0)。請接受答案 - https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work。謝謝 – tukan

相關問題