SQL 查询两个时间段内的数据

SQL 查询两个时间段内的数据

在本文中,我们将介绍如何使用 SQL 查询语句来选择两个时段之间的数据。无论是在企业数据库还是个人项目中,我们经常需要根据特定的时间范围来过滤数据。在本文中,我们将使用一个示例数据库来演示如何查询两个时间段内的数据。

阅读更多:SQL 教程

创建示例数据库

首先,让我们创建一个名为 “orders” 的示例数据库。这个数据库将包含一张名为 “order_details” 的表,我们将使用它来演示查询两个时间段内的数据。

CREATE DATABASE orders;

USE orders;

CREATE TABLE order_details (
  id INT PRIMARY KEY,
  order_date DATETIME,
  customer_id INT,
  product_id INT,
  quantity INT
);

INSERT INTO order_details (id, order_date, customer_id, product_id, quantity)
VALUES
  (1, '2021-01-01 09:00:00', 1, 1, 5),
  (2, '2021-01-01 10:30:00', 2, 2, 3),
  (3, '2021-01-02 12:00:00', 3, 1, 2),
  (4, '2021-01-03 14:30:00', 1, 3, 4),
  (5, '2021-01-04 16:00:00', 2, 2, 1);

以上代码创建了一个名为 “order_details” 的表,并插入了一些订单数据。

查询两个时间段内的数据

现在,让我们编写 SQL 查询语句,来选择2021年1月1日上午9点到下午1点之间的订单数据。

SELECT * FROM order_details
WHERE order_date BETWEEN '2021-01-01 09:00:00' AND '2021-01-01 13:00:00';

上述查询语句使用了 BETWEEN 来选取 order_date 字段在指定时间范围内的数据。结果将显示符合条件的订单数据。

查询两个时间段之外的数据

除了查询两个时间段内的数据,有时我们也需要查询两个时间段之外的数据。下面是一个示例,查询2021年1月2日和2021年1月4日之外的订单数据。

SELECT * FROM order_details
WHERE order_date NOT BETWEEN '2021-01-02 00:00:00' AND '2021-01-04 23:59:59';

上述查询语句使用了 NOT BETWEEN 来选取 order_date 字段不在指定时间范围内的数据。结果将显示符合条件的订单数据。

查询指定时段内的数据

除了查询具体的日期范围内的数据,有时我们也需要查询每天的特定时段内的数据。下面是一个示例,查询每天上午10点到下午2点之间的订单数据。

SELECT * FROM order_details
WHERE TIME(order_date) BETWEEN '10:00:00' AND '14:00:00';

上述查询语句使用了 TIME 函数来提取 order_date 字段的时间部分,并与指定的时段进行比较。结果将显示每天上午10点到下午2点之间的订单数据。

总结

本文介绍了如何使用 SQL 查询语句来选择两个时间段内的数据。我们通过创建一个示例数据库,并编写不同的查询语句来演示了这个过程。通过掌握这些技巧,你可以更好地筛选和分析数据库中的数据,满足不同时间范围的需求。希望本文对你有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程