PostgreSQL教程

PostgreSQL 日期

在本节中,我们将了解 日期数据的 PostgreSQL日期数据类型,示例的工作原理类型和一些可访问的日期函数,这些函数可帮助我们更有效地处理 日期值

什么是PostgreSQL日期数据类型?

PostgreSQL中的另一种数据类型是 DATE ,用于存储 日期值
在 PostgreSQL , 日期数据类型格式为 YYYY-MM-DD ,这有助于我们将日期记录存储并 插入日期列中
日期数据类型涉及 4个字节的存储大小。日期数据类型的最小和最大范围以 BC BC到5874897 AD 1000-01-01到9999-12-31 开始。
如果我们要在创建包含以下内容的新表时使用 当前日期作为列的默认值,则可以在 DEFAULT 关键字后使用 CURRENT_DATE

PostgreSQL日期数据类型的语法

PostgreSQL日期数据类型的语法如下:
variable_name DATE

PostgreSQL日期数据类型示例

让我们看一个示例示例,以了解 PostgreSQL日期数据类型如何工作。
我们将在CREATE命令的帮助下创建一个新表作为 Records ,并使用 INSERT命令。
要将 记录 创建到 组织数据库,我们使用 CREATE 命令。
记录 表包含各种列,例如 Records_id,Heading和Submission_date ,对于 Submission_date列,我们使用 DATE数据类型,并且还接受 当前日期作为 默认值
CREATE TABLE Records (
Records_id serial PRIMARY KEY,
Heading VARCHAR NOT null,
Submission _date DATE NOT null default CURRENT_DATE
);
输出
在执行上述命令时,我们将得到以下消息,该消息显示 记录 表已成功创建。
PostgreSQL日期
记录表创建成功,我们将在 INSERT 命令的帮助下向其中插入一些值。
INSERT INTO Records (Heading)
VALUES
('Invoice to Client ABC'),
('Invoice to Client PQR'),
('Invoice to client XYZ');
输出
执行上述命令后,我们将获得以下消息窗口,该窗口显示指定的值已成功插入 记录 表。
PostgreSQL日期
在创建并插入 记录 表的值,我们将使用 SELECT 命令返回 Records 表的所有行:
SELECT * 
FROM Records;
输出
成功执行以上命令后,我们将获得以下输出,其中显示 记录 中的所有数据 表:
PostgreSQL日期
注意: 根据数据库服务器的当前日期,我们可能会获得不同的Submission_date值。

PostgreSQL日期函数示例

我们具有以下 日期函数,例如 NOW(), AGE(),EXTRACT(),TO_CHAR()等。,可在PostgreSQL中使用,这有助于我们在使用 Date数据类型时增强性能。
让我们看不同的示例来了解 PostgreSQL Date函数的工作方式。
首先,我们将创建新表为 Student_details ,并在CREATE命令的帮助下并使用INSERT命令插入一些值。
我们将在 Student_details 中创建 >组织数据库,使用 CREATE 命令。
Student_details 表包含以下列 Student_Id,Stu_first_name,Stu_last_name,Date_of_birth和Admission_date列,其中 Date_of_birth和Admis ion_date 包含 DATE 数据类型。
CREATE TABLE Student_details (
    Student_Id serial PRIMARY KEY,
    Stu_first_name VARCHAR,
    Stu_last_name VARCHAR ,
    Date_of_birth DATE NOT null,
    Admission_date DATE NOT null
);
输出
在执行上述命令时,我们将获得以下消息,该消息显示 Student_details >表已成功创建到 Organization 数据库中。
PostgreSQL日期
生成 Student_details 表后,我们将使用INSERT命令在其中插入一些值。
INSERT INTO Student_details(Stu_first_name, Stu_last_name,
Date_of_birth, Admission_date)
VALUES 
('Mike','Smith','1994-10-22','2018-08-11'),
('William','Davis','1990-08-12','2018-08-10'),
('Susan','Brown','1991-02-28','2018-07-10'),
('Hannah','Beker','1995-12-13','2018-08-11'),
('Margaret','Wilson','1994-04-25','2018-07-12')
;
输出
执行上述命令后,我们将获得以下消息窗口,该窗口显示值已成功插入到 Student_details 表。
PostgreSQL日期
一旦我们完成创建和插入在 Student_details 表中,我们将看到以下 Date数据类型函数:

评估年龄年,月和日

我们可以使用 AGE()函数来分析当前日期的年,月和日。
例如: 在以下命令中,我们使用 AGE()函数 Student_details 表中计算学生年龄。
SELECT Student_id, Stu_first_name,
Stu_last_name, AGE(Date_of_birth)
FROM Student_details;
输出
执行上述命令后,我们将获得以下输出,其中显示了所有具有AGE()函数的学生的年龄。
PostgreSQL日期
假设我们将 date值传递给 AGE()函数,它将从现有日期中扣除该日期值。并且,如果我们将两个参数传递给AGE()函数,它将从初始参数中撤出第二个参数。
让我们看一个示例示例来详细了解:
在下面的示例中,我们将尝试检索 2010-10-08 上的学生年龄,如以下命令所示:
SELECT Student_id, Stu_first_name,
Stu_last_name, AGE('2010-10-08',Date_of_birth)
FROM Student_details;
输出
成功执行上述命令后,我们将获得以下输出,其中显示指定日期所有 学生的年龄值。
PostgreSQL日期

从中提取年,季度,月,周,日日期值

我们可以使用 EXTRACT()函数从日期值中检索年,季度,月,周,日,
对于示例: 在下面的命令中,我们将从学生的 出生日期中提取年,月和日:
SELECT Student_id, Stu_first_name,
Stu_last_name, 
EXTRACT (YEAR FROM Date_of_birth) AS YEAR,
EXTRACT (MONTH FROM Date_of_birth) AS MONTH,
EXTRACT (DAY FROM Date_of_birth) AS DAY
FROM Student_details;
输出
实施上述命令将得到以下结果,该命令分别显示年,月和日值。
PostgreSQL日期

获取当前日期

我们可以使用 在NOW()函数中获取当前日期和时间。如果我们使用 双冒号(: :)将 DATETIME 值强制转换为 DATE 值,则只能检索日期列记录而无需时间部分。
要返回数据库服务器的当前日期,我们可以使用以下命令:
SELECT NOW()::date;
输出
执行上述命令后,我们将借助 NOW()函数获得当前日期 在输出中,如下所示:
PostgreSQL日期
还有另一种方法可以获取当前日期以使用 CURRENT_DATE ,如下所示:
SELECT CURRENT_DATE;
输出
执行以上语句后,我们将获得以下输出,该输出显示基于数据库服务器的 当前日期
PostgreSQL日期
注意: 输出格式如下: YYYY-MM-DD。不过,我们可以获得各种格式的日期值的结果。

获取两个日期之间的间隔

我们可以使用 减号(-)运算符来获取两个日期之间的间隔两个日期。
让我们看一个示例示例,以使我们更好地理解:
下面的命令用于通过减去 Admission_date 列为 当前日期或今天的日期:
SELECT Stu_first_name, Stu_last_name,
NOW()-Admission_date as Difference
FROM Student_details;
输出
执行上述命令后,我们将获得以下输出:
PostgreSQL日期

获取特定格式的PostgreSQL日期值的输出

我们可以使用 TO_CHAR()函数,以特定格式获取日期值输出。 TO_CHAR()函数用于获取两个参数。
第一个参数我们要格式化的值另一个one 是指定 输出格式模板
在下面的示例中,我们将以以下格式显示当前日期: YYYY/MM/DD ,借助以下命令:
SELECT TO_CHAR(NOW() :: DATE, 'YYYY/MM/DD');
输出
成功执行以上命令后,我们将获得类似的日期格式,在上面的语句中提到:
PostgreSQL日期
或者,如果我们要查看以下格式的日期,可以使用以下命令: SEP 29, 2020年:
SELECT TO_CHAR(NOW() :: DATE, 'MON DD, YYYY');
输出
执行上述命令后,我们将获得以下结果,该结果显示的格式与上述语句中提供的格式相同:

概述

PostgreSQL日期数据类型部分中,我们学习了以下主题:
PostgreSQL日期数据类型用于存储指定列的日期值。 我们使用了不同的DATE函数,例如 NOW(),AGE(),EXTRACT()和TO_CHAR()来增强和处理 DATE 值从特定表中获取。 我们使用了 CURRENT_DATE 关键字来检索表中特定列的当前日期。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4