PostgreSQL教程

PostgreSQL 时间

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

什么是PostgreSQL时间数据类型?

在 PostgreSQL 中,下一个数据类型为 TIME ,它存储 天数时间值
PostgreSQL时间数据类型涉及 8个字节的存储空间且精度最高为 6位数字,并且时间数据类型的范围从00:00:00到24:00:00。
注意: 此处,精度用于定义放置在第二个字段中的小数位数。

PostgreSQL时间数据类型的语法

PostgreSQL时间数据类型的语法如下:
column_name TIME(precision);
通常,我们将使用以下 TIME格式,如下所示:
HH:MM   
HH:MM:SS
HHMMSS
或者如果要使用精度,则将使用以下 时间格式:
MM:SS.pppppp    
HH:MM:SS.pppppp
HHMMSS.pppppp
注意: 在上述格式中,P用于精度值。
让我们看一些 TIME值格式的示例,以便我们更好地理解:
首先,我们将看到 没有精确的时间格式值:
06:05
06:05:04
060504
现在,我们将看到 具有精确时间格式值的示例示例:
06:59.999999
06:05:04.333333
060504.3333333
注意: 通常,PostgreSQL会采用几乎任何合理的TIME格式,以及与SQL兼容的,ISO 8601等。

PostgreSQL TIME数据类型示例

让我们看一个示例示例,以了解 PostgreSQL Time数据类型
在CREATE命令的帮助下,我们将创建一个新表作为 Work_schedules ,并使用INSERT命令。
要将 Work_schedules 创建为 组织数据库,我们使用 CREATE 命令。
Work_schedules 表包含诸如 Comapny_id,Working_schedule,登录注销,对于 登录和注销列,我们使用 时间数据类型作为在以下命令中显示:
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时间
工作时间表 表创建成功,我们将在 INSERT 命令的帮助下向其中插入一些值。
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时间
在创建并插入 Work_schedules 表的值,我们将使用 SELECT 命令返回 Work_schedules 的所有行>表格:
SELECT * 
FROM Work_schedules;
输出
成功执行上述命令后,我们将获得以下输出,其中显示了 Work_schedules 中的所有数据表:
PostgreSQL时间

带时区的PostgreSQL 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   

PostgreSQL时间函数的示例

我们有以下 时间函数,例如 CURRENT_TIME,CURRENT_TIME(precision),LOCAL_TIME,LOCALTIME(精度),EXTRACT(),将时间值转换为其他时区,并对PostgreSQL中可用的时间值使用算术运算符,这有助于我们在使用 ime数据类型时提高性能。
让我们看看不同的示例,以了解 PostgreSQL时间函数的工作原理。
获取当前时间
我们可以使用 CURRENT_TIME 函数检索带有时区的 当前时间
返回当前时间数据库服务器,我们可以使用以下命令:
SELECT CURRENT_TIME;
输出
执行上述命令后,我们将借助 CURRENT_TIME函数获得 当前时间。 >在输出中,如下所示:
PostgreSQL时间
我们可以使用 CURRENT_TIME(precision)功能,以 特定精度检索 当前时间时间。
让我们看一个示例示例,以便我们更好地理解。
以下命令用于以指定的精度获取 当前时间:
SELECT CURRENT_TIME(4);
输出
执行上述命令后,我们将获得以下输出,该输出显示 精确存在的时间:
PostgreSQL时间
注意: 正如我们在两条语句中所看到的,如果我们定义不带精度的CURRENT_TIME函数,则它将返回具有完全可访问精度的时间值。
获取本地时间
我们可以使用 LOCALTIME函数来获取本地时间,如以下命令所示:
SELECT LOCALTIME;
输出
在执行上述命令时,我们将获得以下显示本地时间的输出:
PostgreSQL时间
在PostgreSQL中,我们具有 LOCALTIME(precision)函数,该函数用于检索特定时间的本地时间像我们在 CURRENT_TIME(precision)函数的帮助下找到 当前时间精度一样。
在下面的示例中,我们使用了 LOCALTIME(precision)函数可获取具有指定精度的本地时间。
 SELECT LOCALTIME(1);
输出
执行上述命令后,我们将获得以下输出,该输出显示 本地时间的精确度:
PostgreSQL时间 将时间更改为其他时区
以下语法用于将时间更改为其他时区:
[TIME with time zone] AT TIME ZONE time_zone
让我们看一个示例示例来详细了解:
在下面的示例中,我们将尝试将本地时间更改为时区 PST(太平洋标准时间),如以下命令所示:
SELECT LOCALTIME AT TIME ZONE 'PST';
输出
成功执行以上命令后,我们将获得以下输出,显示本地时间已转换为PST时区。
PostgreSQL时间 从时间值中提取小时,分钟,秒
我们可以使用 EXTRACT函数从时间值中提取小时,分钟,秒。
以下语法用于提取 小时,分钟,秒(用于PostgreSQL时间数据类型):
EXTRACT(field FROM time_value);
注意: 在上面的语法中,该字段可以是小时,分钟,秒和毫秒。
让我们看一个示例示例,我们尝试将 EXTRACT()函数与 CURRENT_TIME(precision)函数一起使用 SELECT命令:
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时间 时间值的算术运算
在PostgreSQL中,我们可以对时间值以及 时间和间隔使用 算术运算符,例如 +,-和*
在下面的示例中,它用于返回两次值之间的间隔:
SELECT time '09:00'-time '03:00' AS result;
输出
执行以下命令将获得以下结果,该命令显示 09: 00-03: 00 之间的时间间隔。
PostgreSQL时间
如果要向本地计算机添加3个小时,我们将使用以下命令时间:
SELECT LOCALTIME + interval '3 hours' AS Output;
输出
执行上述命令后,我们将得到以下结果:
PostgreSQL时间
注意: 在上面的示例中,时间值是时间值和间隔值的总和。

概述

PostgreSQL时间数据类型 e部分,我们学习了以下主题:
PostgreSQL时间数据类型用于存储指定列的时间值。 我们使用了不同的 TIME函数,例如, CURRENT_TIME,CURRENT_TIME(精度),LOCAL_TIME,LOCAL_TIME(精度),EXTRACT(),以增强和处理特定表中的TIME值。 我们可以将时间值转换为不同时区 我们使用了时间值算术运算符来找到时间间隔和时间值之和。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4