SQL 将日期截断为仅包含小时/分钟

SQL 将日期截断为仅包含小时/分钟

在本文中,我们将介绍如何使用SQL将日期截断为仅包含小时或分钟的格式。我们将提供详细的示例说明,帮助您更好地理解和应用这些技巧。

阅读更多:SQL 教程

什么是日期截断?

在SQL中,日期截断是指从一个完整的日期值中只保留特定的时间部分。通常,日期时间值包含年份、月份、日期、小时、分钟、秒和毫秒。但是,有时我们只对日期或时间的特定部分感兴趣。例如,我们可能只关注小时和分钟,而忽略日期和秒。日期截断就是进行这种操作的一种技术。

示例数据

在我们深入讨论日期截断之前,让我们先定义一个包含日期时间值的示例数据集。

CREATE TABLE example_table (
    id INT,
    datetime_column DATETIME
);

INSERT INTO example_table (id, datetime_column) VALUES
    (1, '2022-01-01 10:30:45'),
    (2, '2022-02-15 18:20:15'),
    (3, '2022-03-24 08:45:30'),
    (4, '2022-04-10 14:10:25');
SQL

通过DATE_FORMAT函数截断日期

在SQL中,我们可以使用DATE_FORMAT函数将日期截断为指定的格式。该函数的语法如下:

DATE_FORMAT(date, format)
SQL

其中,date表示要截断的日期值,format表示截断后的格式。

截断为仅包含小时和分钟

要截断日期,只保留小时和分钟,我们可以使用以下格式:’%H:%i’。

SELECT id, DATE_FORMAT(datetime_column, '%H:%i') AS truncated_datetime
FROM example_table;
SQL

执行以上SQL查询语句后,我们将获得以下结果:

id | truncated_datetime
---|------------------
1  | 10:30
2  | 18:20
3  | 08:45
4  | 14:10
SQL

从结果中可以看出,日期已被截断,只保留了小时和分钟。

截断为仅包含小时

如果我们只想截断日期,仅保留小时,可以使用以下格式:’%H’。

SELECT id, DATE_FORMAT(datetime_column, '%H') AS truncated_datetime
FROM example_table;
SQL

执行以上SQL查询语句后,我们将获得以下结果:

id | truncated_datetime
---|------------------
1  | 10
2  | 18
3  | 08
4  | 14
SQL

在结果中,日期已被截断,只保留了小时部分。

通过DATE_TRUNC函数截断日期

除了使用DATE_FORMAT函数,某些数据库系统还提供了DATE_TRUNC函数用于截断日期。DATE_TRUNC函数的语法因数据库而异。

截断为仅包含小时和分钟(PostgreSQL)

在PostgreSQL中,我们可以使用DATE_TRUNC函数将日期截断为小时和分钟。函数的语法如下:

DATE_TRUNC('minute', date)
SQL

其中,’minute’表示我们要截断的时间部分,date表示要截断的日期。

SELECT id, DATE_TRUNC('minute', datetime_column) AS truncated_datetime
FROM example_table;
SQL

执行以上SQL查询语句后,我们将获得以下结果:

id | truncated_datetime
---|------------------
1  | 2022-01-01 10:30:00
2  | 2022-02-15 18:20:00
3  | 2022-03-24 08:45:00
4  | 2022-04-10 14:10:00
SQL

结果显示,日期已被截断,分钟部分被设置为零。

截断为仅包含小时(MySQL)

在MySQL中,我们可以使用DATE_FORMAT函数截断日期为仅包含小时。函数的语法如下:

DATE_FORMAT(date, '%Y-%m-%d %H:00:00')
SQL

其中,date表示要截断的日期值。

SELECT id, DATE_FORMAT(datetime_column, '%Y-%m-%d %H:00:00') AS truncated_datetime
FROM example_table;
SQL

执行以上SQL查询语句后,我们将获得以下结果:

id | truncated_datetime
---|------------------
1  | 2022-01-01 10:00:00
2  | 2022-02-15 18:00:00
3  | 2022-03-24 08:00:00
4  | 2022-04-10 14:00:00
SQL

从结果可以看出,日期被截断,分钟和秒被设置为零。

总结

在本文中,我们介绍了如何使用SQL将日期截断为仅包含小时或分钟的格式。我们展示了两种常用的方法:使用DATE_FORMAT函数和DATE_TRUNC函数。通过这些技巧,您可以根据需求轻松截断日期,只保留您真正感兴趣的时间部分。通过示例数据和具体的SQL语句,希望本文能够帮助您更好地理解和应用日期截断的概念。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册