在本节中,无涯教程将了解 PostgreSQL Time数据类型的工作原理。无涯教程还看到了 Time数据类型的示例,并且还看到了一些可访问的时间函数,这些函数可以帮助无涯教程更有效地处理时间值。
下一个数据类型为 TIME ,它存储天数时间值。
PostgreSQL时间数据类型涉及 8个字节的存储空间,并且最多可达 6位精度,并且时间的范围从00:00:00到24:00:00数据类型。
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
让无涯教程看一个示例示例,以了解 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 表已成功创建。
当 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 表中。
创建并插入 Work_schedules 表的值之后,无涯教程将使用 SELECT 命令返回 Work_schedules 表:
SELECT * FROM Work_schedules;
成功执行上述命令后,无涯教程将获得以下输出,其中显示 Work_schedules 表中存在的所有数据:
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函数的帮助下获得当前时间,如下所示:
无涯教程可以使用 current_time(precision)函数来检索 current 时间,使用特定精度。
让无涯教程看一个示例示例,以使无涯教程更好地理解。
以下命令用于获取具有指定精度的当前时间:
SELECT CURRENT_TIME(4);
执行上述命令后,无涯教程将获得以下输出,该输出显示精确的现有时间:
无涯教程可以使用 LOCALTIME函数来检索本地时间,如以下命令所示:
SELECT LOCALTIME;
在实现上面的命令时,无涯教程将获得以下输出,显示本地时间:
在PostgreSQL中,无涯教程具有 LOCALTIME(precision)函数,该函数用于以特定的精度检索本地时间,例如无涯教程可以借助当前时间精度 CURRENT_TIME(精度)函数。
在下面的示例中,无涯教程使用了 LOCALTIME(precision)函数来获取具有指定精度的本地时间。
SELECT LOCALTIME(1);
实施上述命令后,无涯教程将获得以下输出,该输出显示精确的本地时间:
以下语法用于将时间更改为不同的时区:
[TIME with time zone] AT TIME ZONE time_zone
让无涯教程看一个示例示例来详细了解:
在以下示例中,无涯教程将尝试将本地时间更改为时区 PST(太平洋标准时间)的时间,如以下命令所示:
SELECT LOCALTIME AT TIME ZONE 'PST';
成功执行上述命令后,无涯教程将获得以下输出,该输出显示本地时间已转换为PST时区。
无涯教程可以使用 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中,无涯教程可以对时间值以及时间和间隔值使用算术运算符,如 +,-和* 。
在下面的示例中,它用于返回两次值之间的间隔:
SELECT time '09:00' - time '03:00' AS result;
通过执行以下命令,无涯教程将获得以下结果,该命令显示了 09:00-03:00 之间的时间间隔。
如果要将本地时间增加3个小时,无涯教程将使用以下命令:
SELECT LOCALTIME + interval '3 hours' AS Output;
执行完上述命令后,无涯教程将得到以下结果:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)