Поиск по сайту:
Человек, живущий одиноко, существует только наполовину (П. Буаст).

Запрос фильтра MySQL в пределах диапазона дат

24.08.2021
Запрос фильтра MySQL между диапазоном дат

MySQL – это популярная и простая в использовании система управления базами данных, которая поставляется с множеством функций и гибкостью, подходящей для широкого спектра сценариев использования. Одной из таких функций является тип данных даты MySQL, который используется для генерации и хранения значений даты.

В этой статье мы проведем вас через тип данных даты MySQL и покажем, как вы можете фильтровать данные по диапазону дат.

 

Основы

Дата MySQL – это тип данных, который хранит значения даты в форме YYYY-MM-DD. Тип даты использует 3 байта для хранения записи даты. Тип даты MySQL варьируется от 1000-01-0 до 9999-12-21.

MySQL поставляется с множеством функций для генерации и управления значениями даты. Однако мы не будем углубляться в них из-за объема учебника. Прочтите документацию, чтобы узнать больше.

Давайте рассмотрим простой пример, чтобы показать, как хранить значения даты в MySQL.

CREATE DATABASE IF NOT EXISTS date_db
USE date_db;
CREATE TABLE date_records(
id INT AUTO_INCREMENT PRIMARY KEY,
timetable DATE NOT NULL
);
INSERT INTO date_records(timetable)
VALUES('2021-06-06'),
('2020-01-20'),
('2030-03-03');

 

Теперь мы можем выбрать значения из таблицы как:

select * from date_records;
+----+------------+
| id | timetable  |
+----+------------+
|  1 | 2021-06-06 |
|  2 | 2020-01-20 |
|  3 | 2030-03-03 |
+----+------------+
3 rows in set (0.00 sec)

 

Вы можете использовать функции MySQL для добавления дополнительных значений даты в таблицу.

 

Как отфильтровать диапазон дат?

Давайте теперь перейдем к теме: «Как фильтровать в пределах диапазона дат?»

MySQL умен и очень интуитивно понятен. Вы можете использовать обычные операторы сравнения для фильтрации данных в пределах определенного диапазона дат.

Давайте возьмем образец базы данных, доступный на указанном ниже ресурсе:

https://dev.mysql.com/doc/index-other.html

 

В таблице платежей мы можем отфильтровать даты платежей за определенный период.

Например, чтобы отфильтровать платежи в диапазоне от «2005-05-25 11:30:37» до «2005-07-30 19:23:44», мы можем использовать следующий запрос:

SELECT payment_id, customer_id, rental_id
FROM payment
WHERE payment_date BETWEEN '2005-05-25 11:30:37' AND '2005-07-30 19:23:44' LIMIT 10;

В приведенном выше примере должны быть возвращены столбцы, значения которых находятся в указанном диапазоне времени.

Запрос фильтра MySQL между диапазоном дат

 

Другой пример – фильтрация значений до определенной даты. В этом случае мы можем использовать оператор меньше или равно как:

SELECT payment_id, customer_id, rental_id
FROM payment
WHERE payment_date  <= '2005-05-25 11:30:37' LIMIT 10;

Запрос фильтра MySQL между диапазоном дат

 

Читать  MySQL Shell AdminAPI. Что нового в 8.0.20?

В приведенном выше примере запрос возвращает все значения в диапазоне «2005-05-25 11:30:37» и ниже.

 

Резюме

MySQL позволяет использовать операторы сравнения для фильтрации диапазонов дат, как и для других типов, таких как целые числа.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
Франчайзинг сегодня – это достаточно популярная тема. В период пандемии…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: