PostgreSQL 取小时

在 PostgreSQL 中,我们经常需要从日期和时间数据中提取特定的信息,比如年、月、日、小时等。本文将详细讲解如何使用 PostgreSQL 的内置函数来取得日期时间数据的小时部分。
1. 提取小时部分的函数
PostgreSQL 提供了几个函数用于从日期或时间数据中提取小时部分:
EXTRACT(HOUR FROM timestamp):从指定的时间戳 (timestamp) 中提取小时部分。返回值的数据类型为整数。DATE_PART('hour', timestamp):从指定的时间戳 (timestamp) 中提取小时部分。返回值的数据类型为浮点数。TO_CHAR(timestamp, 'HH24'):将时间戳 (timestamp) 格式化为两位数的小时部分字符串。
下面分别详细介绍这些函数的使用方法。
2. 使用 EXTRACT 函数取小时
EXTRACT(HOUR FROM timestamp) 函数用于从指定的时间戳 (timestamp) 中提取小时部分。下面是该函数的具体示例:
SELECT EXTRACT(HOUR FROM '2022-09-21 12:34:56');
-- 输出结果为:12
函数 EXTRACT(HOUR FROM timestamp) 的返回值是一个整数,表示时间戳中的小时部分。在上面的示例中,结果为 12,表示时间戳为 12 小时。
3. 使用 DATE_PART 函数取小时
DATE_PART('hour', timestamp) 函数也可以从指定的时间戳 (timestamp) 中提取小时部分。下面是该函数的具体示例:
SELECT DATE_PART('hour', '2022-09-21 12:34:56');
-- 输出结果为:12
函数 DATE_PART('hour', timestamp) 的返回值是一个浮点数,表示时间戳中的小时部分。在上面的示例中,结果为 12,表示时间戳为 12 小时。
4. 使用 TO_CHAR 函数取小时
TO_CHAR(timestamp, 'HH24') 函数将时间戳 (timestamp) 格式化为两位数的小时部分字符串。下面是该函数的具体示例:
SELECT TO_CHAR('2022-09-21 12:34:56', 'HH24');
-- 输出结果为:12
函数 TO_CHAR(timestamp, 'HH24') 的返回值是一个字符串,表示时间戳中的小时部分。在上面的示例中,结果为 “12”。
5. 总结
本文介绍了在 PostgreSQL 中如何取得日期时间数据的小时部分。通过使用 EXTRACT、DATE_PART 和 TO_CHAR 函数,我们可以方便地从时间戳中提取小时信息。在实际应用中,根据需要选择适合的函数即可。
极客教程