#arrays #json #postgresql
#массивы #json #postgresql
Вопрос:
У меня есть две строки данных JSON из столбца в базе данных postgresql, и это выглядит следующим образом.
{
"details":[{"to":"0:00:00","from":"00:00:12"}]
}
{
"details":[
{"to":"13:01:11","from":"13:00:12"},
{"to":"00:00:12","from":"13:02:11"}
]
}
Я хочу перебрать детали и получить только значения ключа «from», используя запрос в postgresql.
Я хочу, чтобы это было как
from
00:00:12
13:00:12
13:02:11
Комментарии:
1. Тип данных столбца — jsonb или json?
2. да, типом данных столбца является jsonb
Ответ №1:
Использовать jsonb_array_elements
select j->>'from' as "from" from t
cross join jsonb_array_elements(s->'details') as j;
Комментарии:
1. Приведенные выше сведения взяты из двух столбцов, и мне нужно извлечь все остальные столбцы, такие как id, используя ключ «from». из временного интервала между 13:00:00 и 13:03:00.
2. @rakesh : Это ответ на ваш первоначальный вопрос, пожалуйста, рассмотрите возможность задать новый с дополнительными деталями