大文字と小文字が混在しているJSON列を照会しようとしています。残念ながらキーの大文字を無視してSQL ServerのJSON列をクエリする方法はありますか?
{"Type":"template","Name":"Screening2","Pages":[{"PageNumber":1,...}
、SQL:
{"name":"Screening 1","type":"template","pages":[{"pageNumber":1,...}
しかし、行の一部は次のようにその最初の文字の上に資産計上されるキーを持っている:例えば、一部の行はすべて小文字、以下のようなもので、キーを持っていますサーバーは、大文字と小文字を区別するJSONパスシステムのみをサポートしているようです。したがって、すべての行を正常に照会することはできません。私は以下のようなクエリで「$の.pages」のような小文字のパスを使用する場合:
SELECT ST.Id AS Screening_Tool_Id
, ST.Name AS Screening_Tool_Name
, ST.Description AS Screening_Tool_Description
, COUNT(JSON_VALUE (SRQuestions.value, '$.id')) AS Question_Specific_Id
FROM dbo.ScreeningTemplate AS ST
CROSS APPLY OPENJSON(ST.Workflow, '$.pages') AS SRPages
CROSS APPLY OPENJSON(SRPages.Value, '$.sections') AS SRSections
私は鍵を大文字にしている任意の行を欠場します。大文字と小文字を無視してすべての行を照会する方法はありますか?
私もUNIONを使用することを考えていましたが、現時点では最良の方法のようです。すべてのJSONデータを書き直すよりも優れています。 –