Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,


SQL PUZZLE | Can you modify values in Multi-objects JSON array in SQL server? | SQL Interview Question

In this puzzle you have to modify the values in Multi-objects JSON array in SQL server. Basically you have to read and modify all the gender values present in the JSON Array to M. For more details please see the sample input and expected output.

Sample Input

(No column name)
[{“Id”:1,”name”: “P”,”gender”: “M”}, {“Id”:2,”name”: “R”,”gender”: “F”}]}

Expected Output

JSON_F52E2B61-18A1-11d1-B105-00805F49916B
[{“Id”:1,”name”:”P”,”sex”:”M”},{“Id”:2,”name”:”R”,”sex”:”M”}]

Script – DDL and INSERT Sample Data

--

DECLARE @jsonstr NVARCHAR(MAX) = '[{"Id":1,"name": "P","gender": "M"}, {"Id":2,"name": "R","gender": "F"}]}'
SELECT @jsonstr

--

SOLUTION – 1

--

;WITH CTE AS
(
  SELECT * FROM OPENJSON(@jsonstr)
  WITH ([Id] INT '$.Id', [name] VARCHAR(100) '$.name' , [gender] VARCHAR(100) '$.gender' )
)
,CTE1 AS
(
	SELECT [Id], [name], CASE WHEN gender = 'F' THEN 'M' ELSE gender END [sex]
	FROM CTE
)
SELECT * 
FROM CTE1
FOR JSON AUTO
GO


--

Output – 1

--

JSON_F52E2B61-18A1-11d1-B105-00805F49916B
----------------------------------------------------------------------
[{"Id":1,"name":"P","sex":"M"},{"Id":2,"name":"R","sex":"M"}]

(2 rows affected)

--

Enjoy 🙂

Please add comment(s) if you have one or multiple solutions in mind. Thank You.

Pawan Khowal

Pawan is a SQL Server Developer. If you need any help in writing code/puzzle or training please email at – pawankkmr”AT”gmail.com. Meanwhile please go throgh the top pages from his blog.

Page Detail URL
☛ SQL Advance Puzzles https://msbiskills.com/tsql-puzzles-asked-in-interview-over-the-years/
☛ SQL Tricky Queries https://msbiskills.com/sql-puzzles-finding-outputs/
☛ SQL Server Perfomance tuning Articles https://msbiskills.com/sql-performance-tuning/
☛ SQL Server Articles https://msbiskills.com/t-sql/
☛ SQL Interview Questions & Answers https://msbiskills.com/sql-server-interview-questions/

My SQL Groups on Facebook:

1. If you like this post, you may want to join my SQL SERVER Interview Puzzles/Interview Questions on Facebook: https://www.facebook.com/groups/1430882120556342/

2. If you like this post, you may want to join my SQL Server Puzzles on Facebook:
https://www.facebook.com/groups/206594023090781/

My SQL Page on Facebook:

2. For all the updates you may follow my page -> https://www.facebook.com/MSBISkillscom-1602779883299222/

Enjoy !!! Keep Learning

Http://MsbiSkills.com