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日期数据类型的语法如下:
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
);
输出
在执行上述命令时,我们将得到以下消息,该消息显示
记录 表已成功创建。
记录表创建成功,我们将在
INSERT 命令的帮助下向其中插入一些值。
INSERT INTO Records (Heading)
VALUES
('Invoice to Client ABC'),
('Invoice to Client PQR'),
('Invoice to client XYZ');
输出
执行上述命令后,我们将获得以下消息窗口,该窗口显示指定的值已成功插入
记录 表。
在创建并插入
记录 表的值,我们将使用
SELECT 命令返回
Records 表的所有行:
输出
成功执行以上命令后,我们将获得以下输出,其中显示
记录
中的所有数据 表:
注意: 根据数据库服务器的当前日期,我们可能会获得不同的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 数据库中。
生成
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 表。
一旦我们完成创建和插入在
Student_details 表中,我们将看到以下
Date数据类型函数:
评估年龄年,月和日
我们可以使用
AGE()函数来分析当前日期的年,月和日。
例如: 在以下命令中,我们使用
AGE()函数从
Student_details 表中计算学生年龄。
SELECT Student_id, Stu_first_name,
Stu_last_name, AGE(Date_of_birth)
FROM Student_details;
输出
执行上述命令后,我们将获得以下输出,其中显示了所有具有AGE()函数的学生的年龄。
假设我们将
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;
输出
成功执行上述命令后,我们将获得以下输出,其中显示指定日期所有
学生的年龄值。
从中提取年,季度,月,周,日日期值
我们可以使用
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;
输出
实施上述命令将得到以下结果,该命令分别显示年,月和日值。
获取当前日期
我们可以使用
在NOW()函数中获取当前日期和时间。如果我们使用
双冒号(: :)将
DATETIME 值强制转换为
DATE 值,则只能检索日期列记录而无需时间部分。
要返回数据库服务器的当前日期,我们可以使用以下命令:
输出
执行上述命令后,我们将借助
NOW()函数获得当前日期 在输出中,如下所示:
还有另一种方法可以获取当前日期以使用
CURRENT_DATE ,如下所示:
输出
执行以上语句后,我们将获得以下输出,该输出显示基于数据库服务器的
当前日期。
注意: 输出格式如下: YYYY-MM-DD。不过,我们可以获得各种格式的日期值的结果。
获取两个日期之间的间隔
我们可以使用
减号(-)运算符来获取两个日期之间的间隔两个日期。
让我们看一个示例示例,以使我们更好地理解:
下面的命令用于通过减去
Admission_date 列为
当前日期或今天的日期:
SELECT Stu_first_name, Stu_last_name,
NOW()-Admission_date as Difference
FROM Student_details;
输出
执行上述命令后,我们将获得以下输出:
获取特定格式的PostgreSQL日期值的输出
我们可以使用
TO_CHAR()函数,以特定格式获取日期值输出。
TO_CHAR()函数用于获取两个参数。
第一个参数是
我们要格式化的值和
另一个one 是指定
输出格式的
模板。
在下面的示例中,我们将以以下格式显示当前日期:
YYYY/MM/DD ,借助以下命令:
SELECT TO_CHAR(NOW() :: DATE, 'YYYY/MM/DD');
输出
成功执行以上命令后,我们将获得类似的日期格式,在上面的语句中提到:
或者,如果我们要查看以下格式的日期,可以使用以下命令:
SEP 29, 2020年:
SELECT TO_CHAR(NOW() :: DATE, 'MON DD, YYYY');
输出
执行上述命令后,我们将获得以下结果,该结果显示的格式与上述语句中提供的格式相同:
概述
在
PostgreSQL日期数据类型部分中,我们学习了以下主题:
PostgreSQL日期数据类型用于存储指定列的日期值。
我们使用了不同的DATE函数,例如 NOW(),AGE(),EXTRACT()和TO_CHAR()来增强和处理 DATE 值从特定表中获取。
我们使用了 CURRENT_DATE 关键字来检索表中特定列的当前日期。