как сделать выборку по диапазону времени(timestamp)
Несколько дней изучаю postgresql. Как сделать выборку всех данных по столбцу "date_", указав нужный веременно интервал от и до. Файл с данными здесь Таблицу сделал так:
quote=# CREATE TABLE stock (
quote(# date_ date_ timestamp PRIMARY KEY,
quote(# O double precision,
quote(# H double precision,
quote(# L double precision,
quote(# C double precision,
quote(# V double precision
quote(# );
данные таблицы:
Таблица "public.stock"
Столбец | Тип | Правило сортировки | Допустимость NULL | По умолчанию | Хранилище | Цель для статистики | Описание
---------+-----------------------------+--------------------+-------------------+--------------+-----------+---------------------+----------
date_ | timestamp without time zone | | not null | | plain | |
o | double precision | | | | plain | |
h | double precision | | | | plain | |
l | double precision | | | | plain | |
c | double precision | | | | plain | |
v | double precision | | | | plain | |
Индексы:
"stock_pkey" PRIMARY KEY, btree (date_)
Метод доступа: heap
сами данные выглядят так:
date_ | o | h | l | c | v
---------------------+---------+---------+---------+---------+--------
2018-10-30 00:00:00 | 1.81198 | 1.81374 | 1.78596 | 1.78837 | 205467
2018-10-31 00:00:00 | 1.78844 | 1.80817 | 1.78753 | 1.80407 | 196775
2018-11-01 00:00:00 | 1.80402 | 1.80912 | 1.79434 | 1.80423 | 215630
2018-11-02 00:00:00 | 1.80419 | 1.80566 | 1.7931 | 1.80143 | 216667
2018-11-05 00:00:00 | 1.80994 | 1.81136 | 1.80168 | 1.80782 | 164551
2018-11-06 00:00:00 | 1.80781 | 1.81472 | 1.79978 | 1.80699 | 196953
2018-11-07 00:00:00 | 1.80698 | 1.81469 | 1.8003 | 1.80337 | 207837
Так же интересует, почему после создания таблицы и ее наполнения у меня не получилось установить в колонке "date_" PRIMARY KEY. Программа пишет, что есть NULL. Пришлось создавать новую таблицу. Можно ли установить PRIMARY KEY для уже существующей колонки.