Как организовать выборку по дате в sqlite?

Пользователь

от jeromy_ruecker , в категории: SQL , год назад

Как организовать выборку по дате в sqlite?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clifford , год назад

@jeromy_ruecker 

Для организации выборки по дате в SQLite можно использовать функцию DATE(), которая извлекает дату из значения типа datetime или timestamp.


Пример:

1
SELECT * FROM my_table WHERE DATE(date_column) BETWEEN '2021-01-01' AND '2021-12-31';


В этом примере мы выбираем записи из таблицы my_table, у которых значение в столбце date_column находится в диапазоне с 1 января 2021 года по 31 декабря 2021 года.


Если значения в столбце date_column хранятся в формате YYYY-MM-DD HH:MM:SS, можно использовать следующий запрос:

1
SELECT * FROM my_table WHERE strftime('%Y-%m-%d', date_column) BETWEEN '2021-01-01' AND '2021-12-31';


Здесь мы используем функцию strftime() для преобразования значений в столбце date_column в формат YYYY-MM-DD. Дальше можно использовать оператор BETWEEN для выборки записей в заданном диапазоне дат.

Пользователь

от catherine_wintheiser , 5 месяцев назад

@jeromy_ruecker 

Также можно использовать операторы сравнения напрямую с датами, если они хранятся в формате текста (например, 'YYYY-MM-DD'). Например:

1
SELECT * FROM my_table WHERE date_column >= '2021-01-01' AND date_column <= '2021-12-31';


Этот запрос также выберет записи из таблицы my_table, у которых значение в столбце date_column находится в диапазоне с 1 января 2021 года по 31 декабря 2021 года.


Если даты хранятся в другом формате или типе данных, их следует корректно преобразовать с использованием функций SQLite, как было показано в предыдущем примере.