4

保存されたドキュメントを使用して、TSQL クエリ内で$..in関数を利用したいと考えていました。残念ながらうまくいきません:json_value()json

JSON パスの形式が正しくありません。予期しない文字「.」2の位置にあります。

ドキュメントによると、次のことを行う意図さえありませんでした。

パス ステップには、次の要素と演算子を含めることができます。

キー名。たとえば、$.name と $."first name" です。キー名がドル記号で始まる場合、またはスペースなどの特殊文字が含まれている場合は、引用符で囲みます。

配列要素。たとえば、$.product[3] です。配列はゼロベースです。

ドット演算子 (.) は、オブジェクトのメンバーを示します。たとえば、$.people 1 .surname では、surname は people の子です。

TSQL テーブルの列に格納されたa構造化された任意のレベルで属性を見つける方法はありますか?json

たとえば、ドキュメントaの任意のレベルにあるとしましょう:json

select json_value(json, '$..a') from data列の次の値に対して両方の値 (したがって1, 2) を返します。data.json

最初:

{
    "a": 1
}

2番目:

{
    "b": {
        "a": 2
    }
}
4

1 に答える 1