我在与用户相关的单列(varchar(max)
)中具有以下JSON数据:
[{
"ExtensionData": {},
"IsDefault": false,
"MethodType": "OneWaySMS"
},
{
"ExtensionData": {},
"IsDefault": false,
"MethodType": "TwoWayVoiceMobile"
},
{
"ExtensionData": {},
"IsDefault": false,
"MethodType": "PhoneAppOTP"
},
{
"ExtensionData": {},
"IsDefault": true,
"MethodType": "PhoneAppNotification"
}]
任何查询用户记录的方法以及利用子查询(或类似查询)的方法,只返回与“ isDefault:true”相同的块中的MethodType
那么根据上面的示例,返回的列将仅显示“ PhoneAppNotification”?
答案 0 :(得分:1)
尝试一下:
select MethodType
from [table]
cross apply OPENJSON([column], '$')
with (IsDefault varchar(80), MethodType varchar(80))
where IsDefault = 'true'