В моей таблице есть столбец json clob address , он выглядит следующим образом:
{
"BusinessObjectId":1000000246,
"IsOrgParty":"Y",
"IsProspectCustomer":"N",
"PartyAccountList":
"PartyAddressList":
[
{
"@pk":663821562,
"@type":"PartyAddress-PartyAddress",
"AddressId":663821562,
"AddressStatus":1,
"AddressType":1,
"BusinessObjectId":1000000240,
"IsPrimaryAddress":"Y",
"Country":"USA",
"AddressLine1":"ADD2",
},
{
"@pk":663821853,
"@type":"PartyAddress-PartyAddress",
"AddressId":663821853,
"AddressStatus":1,
"AddressType":1,
"BusinessObjectId":1000000240,
"IsPrimaryAddress":"N",
"Country":"USA",
"AddressLine1":"ADD1",
}
],
Я хочу выбрать адресную строку 1, где IsPrimaryAddress обозначен как "Y".
Я использовал оба:
select json_value(address,'$.PartyAddressList[?(@.IsPrimaryAddress=="Y")].AddressLine1') as address from T_Address
или
select json_value(address, '$.PartyAddressList[*]?(@.IsPrimaryAddress=="Y").AddressLine1') as address from T_Address
Оба утверждения не были приняты Oracle.Поддерживает ли Oracle выражение фильтра для json?