PostgreSQL - Time类型

PostgreSQL - Time类型 首页 / PostgreSQL入门教程 / PostgreSQL - Time类型

在本节中,无涯教程将了解 PostgreSQL Time数据类型的工作原理。无涯教程还看到了 Time数据类型示例,并且还看到了一些可访问的时间函数,这些函数可以帮助无涯教程更有效地处理时间值。

时间数据类型

下一个数据类型为 TIME ,它存储天数时间值

PostgreSQL时间数据类型涉及 8个字节的存储空间,并且最多可达 6位精度,并且时间的范围从00:00:00到24:00:00数据类型。

TIME类型语法

PostgreSQL时间数据类型语法如下:

column_name TIME(precision);

通常,无涯教程将使用以下 TIME格式,如下所示:

HH:MM   
HH:MM:SS
HHMMSS

或者,如果无涯教程想使用精度,那么无涯教程将使用下面的时间格式:

MM:SS.pppppp    
HH:MM:SS.pppppp
HHMMSS.pppppp

让无涯教程看一些 TIME值格式的示例,以便无涯教程更好地理解:

首先,无涯教程将看到不具有精确时间格式值的示例示例:

06:05
06:05:04
060504

现在,无涯教程将看到具有精确时间格式值的示例示例:

06:59.999999
06:05:04.333333
060504.3333333

TIME类型示例

让无涯教程看一个示例示例,以了解 PostgreSQL Time数据类型的工作方式。

在CREATE命令的帮助下,无涯教程正在创建一个新表作为 Work_schedules ,并使用INSERT命令插入一些值。

要创建 work_schedules 进入数据库,无涯教程使用 create 命令。

Work_schedules 表包含各种列,例如 Comapny_id,Working_schedule,Login Logout ,以及 Login和注Logout列,无涯教程使用时间数据类型,如以下命令所示:

CREATE TABLE Work_schedules (
    company_id serial PRIMARY KEY,
    Working_schedule VARCHAR NOT NULL,
    Login TIME NOT NULL,
    Logout TIME NOT NULL
);  

执行上述命令后,无涯教程将收到以下消息: Work_schedules 表已成功创建。

PostgreSQL Time

work_schedules成功创建 表时,无涯教程将使用插入命令的帮助将一些值插入其中。

INSERT INTO Work_schedules(Working_schedule,Login,Logout)
VALUES
('First shift', '09:00:00', '17:00:00'),
 ('Second shift', '13:00:00', '21:00:00'),
 ('Third shift', '16:00:00', '23:00:00'),
 ('Weekend Shift', '09:00:00', '14:00:00');

实施上述命令后,无涯教程将获得以下消息窗口,该窗口显示特定值已成功插入 Work_schedules 表中。

PostgreSQL Time

创建并插入 Work_schedules 表的值之后,无涯教程将使用 SELECT 命令返回 Work_schedules 表:

SELECT * 
FROM Work_schedules;

成功执行上述命令后,无涯教程将获得以下输出,其中显示 Work_schedules 表中存在的所有数据:

PostgreSQL Time

TIME时区类型

PostgreSQL允许无涯教程使用 TIME带有时区的数据类型以及 TIME数据类型,这使无涯教程可以通过时区部署和检索一天中的时间。

要声明数据类型为带有时区的 TIME 的列,无涯教程将使用以下语法:

column TIME with time zone

带时区的TIME数据类型包含 12个字节,这使无涯教程可以存储时区为 00:00:00 + 1459到24的时间值:00:00-1459 范围。

以下示例用于显示带有时区值的 TIME:

06:05:04 IST    
06:05:04.123-2   

时间函数示例

无涯教程具有以下 Time函数,例如 CURRENT_TIME,CURRENT_TIME(precision),LOCAL_TIME,LOCALTIME(precision),EXTRACT(),将时间值转换为其他时区,并使用算术运算符 PostgreSQL中可用的时间值,这有助于无涯教程在使用 ime数据类型时提高性能。

让无涯教程看不同的示例,以了解 PostgreSQL时间函数的工作方式。

  • 获取当前时间

无涯教程可以使用 CURRENT_TIME 函数检索带时区的当前时间

要返回数据库服务器的当前时间,无涯教程可以使用以下命令:

SELECT CURRENT_TIME;

实施上述命令后,无涯教程将在输出中的 CURRENT_TIME函数的帮助下获得当前时间,如下所示:

PostgreSQL Time

无涯教程可以使用 current_time(precision)函数来检索 current 时间,使用特定精度

让无涯教程看一个示例示例,以使无涯教程更好地理解。

以下命令用于获取具有指定精度的当前时间:

SELECT CURRENT_TIME(4);

执行上述命令后,无涯教程将获得以下输出,该输出显示精确的现有时间:

PostgreSQL Time

  • 获取本地时间

无涯教程可以使用 LOCALTIME函数来检索本地时间,如以下命令所示:

SELECT LOCALTIME;

在实现上面的命令时,无涯教程将获得以下输出,显示本地时间:

PostgreSQL Time

在PostgreSQL中,无涯教程具有 LOCALTIME(precision)函数,该函数用于以特定的精度检索本地时间,例如无涯教程可以借助当前时间精度 CURRENT_TIME(精度)函数

在下面的示例中,无涯教程使用了 LOCALTIME(precision)函数来获取具有指定精度的本地时间。

 SELECT LOCALTIME(1);

实施上述命令后,无涯教程将获得以下输出,该输出显示精确的本地时间:

PostgreSQL Time
  • 将时间更改为其他时区

以下语法用于将时间更改为不同的时区:

[TIME with time zone] AT TIME ZONE time_zone

让无涯教程看一个示例示例来详细了解:

在以下示例中,无涯教程将尝试将本地时间更改为时区 PST(太平洋标准时间)的时间,如以下命令所示:

SELECT LOCALTIME AT TIME ZONE 'PST';

成功执行上述命令后,无涯教程将获得以下输出,该输出显示本地时间已转换为PST时区。

PostgreSQL Time
  • 从时间值中提取小时,分钟,秒

无涯教程可以使用 EXTRACT函数从时间值中提取小时,分钟,秒。

以下语法用于提取PostgreSQL时间数据类型的小时,分钟,秒:

EXTRACT(field FROM time_value);

让无涯教程看一个示例示例,尝试将 EXTRACT()函数与 CURRENT_TIME(precision)函数一起使用

SELECT CURRENT_TIME(0),
EXTRACT (HOUR FROM CURRENT_TIME) as Hour,
EXTRACT (MINUTE FROM CURRENT_TIME) as Minute, 
EXTRACT (SECOND FROM CURRENT_TIME) as Second,
EXTRACT (milliseconds FROM CURRENT_TIME) as Milliseconds;

执行上述命令后,无涯教程将获得以下输出,该输出将 CURRENT_TIME(0)提取为小时,分钟,秒和毫秒:

PostgreSQL Time
  • 时间值的算术运算

在PostgreSQL中,无涯教程可以对时间值以及时间和间隔值使用算术运算符,如 +,-和*

在下面的示例中,它用于返回两次值之间的间隔:

SELECT time '09:00' - time '03:00' AS result;

通过执行以下命令,无涯教程将获得以下结果,该命令显示了 09:00-03:00 之间的时间间隔。

PostgreSQL Time

如果要将本地时间增加3个小时,无涯教程将使用以下命令:

SELECT LOCALTIME + interval '3 hours' AS Output;

执行完上述命令后,无涯教程将得到以下结果:

PostgreSQL Time

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入剖析Kubernetes -〔张磊〕

大规模数据处理实战 -〔蔡元楠〕

深入拆解Tomcat & Jetty -〔李号双〕

黄勇的OKR实战笔记 -〔黄勇〕

NLP实战高手课 -〔王然〕

体验设计案例课 -〔炒炒〕

如何成为学习高手 -〔高冷冷〕

网络排查案例课 -〔杨胜辉〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

好记忆不如烂笔头。留下您的足迹吧 :)