保存されたドキュメントを使用して、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
}
}