Я использую адаптер jdbc postgresql для переноса набора данных в поле jsonb (postgres 9.4).
После импорта поля даты выглядят правильно, но отображаются в двойных кавычках. Есть ли способ узнать, действительно ли они хранятся внутри как значения даты? Если это строки, я не думаю, что поиск диапазона будет очень эффективным.
Например, запись в поле properties
jsonb выглядит так:
"founded_on": "Sep 1, 2012 12:00:00 AM",
Теперь я могу искать, скажем,
SELECT CAST(properties->>'founded_on' AS DATE
а также
SELECT extract('year' from cast(properties->>'founded_on' as timestamp))
и оба работают нормально, но не говорите мне, каждый раз ли Postgres повторно анализирует строковое значение в поле jsonb как дату.
Я мог бы создать индекс, в котором я привожу эти значения к датам и использую его для поиска, но это кажется несколько неэлегантным. Я действительно предпочел бы знать, что сохраненное значение является датой. Целые числа и числа с плавающей запятой кажутся их фактическими собственными значениями, а не строками, как в этих случаях:
shares_sold": 5900000,
"latitude": 33.561467,
Любая обратная связь высоко ценится.