Estou tentando recuperar a última data de pagamentos dentro do array itens (com um ou vários itens) do bank_orders
json armazenado dentro de uma json_data
coluna do SQL Server.
A consulta que tento retorna NULL.
Como posso obter uma única data, sendo a data maior? E a primeira data?
Estrutura JSON:
{
"bank_orders": [
{
"operation_number": "123456-abc",
"itens": [
{
"item_number": 123456,
"contract_name": "ACME .inc",
"payment_date": "2024-01-03 00:00:00.000",
"amount_payment": 3245.21
},
...
Consulta :
SELECT
JSON_VALUE(json_data, '$.bank_orders.itens.payment_date') AS last_payment_date
FROM bank_payments
Se você quiser destruir um array JSON, você precisa de
OPENJSON
. Se você quiser apenas o primeiro objeto nobank_orders
array, então use[0]
Há 2 problemas com sua tentativa:
itens
notitems
.Se, como você afirma em seus comentários, o valor estiver sempre no primeiro
bank_orders
arrayitens
, você pode usarJSON_VALUE
se especificar o índice do array: