PostgreSQL 日期 PostgreSQL 串行 PostgreSQL 时间 PostgreSQL 日期 在本节中,我们要了解的工作PostgreSQL的日期数据类型,例子中的日期数据类型,以及一些访问日期的功能,我们能够处理哪些帮助日期值更有效。 什么是 PostgreSQL 日期数据类型? PostgreSQL 中的另一种数据类型是DATE,用于存储日期值。 在PostgreSQL 中,Date 数据类型格式为YYYY-MM-DD,这有助于我们将日期记录存储并插入到日期列中。 Date 数据类型涉及4 个字节的存储大小。日期数据类型的最小和最大范围从4713 BC 到 5874897 AD或1000-01-01 到 9999-12-31。 如果我们想在创建包含 Date 列的新表时使用当前日期作为列的默认值,我们可以在DEFAULT关键字之后使用CURRENT_DATE。 PostgreSQL 日期数据类型示例 让我们看一个示例示例,以了解PostgreSQL 日期数据类型的工作原理。 我们正在使用 CREATE 命令的帮助创建一个新表作为记录\,并使用INSERT 命令插入一些值。 要将记录\创建到组织数据库中,我们使用CREATE命令。 该记录\表包含各列如Records_id,标题和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 ); 输出 在执行上述命令时,我们将收到以下消息,显示Records\表已成功创建。 当Records\表创建成功后,我们将在INSERT命令的帮助下向其中插入一些值。 INSERT INTO Records (Heading) VALUES ('Invoice to Client ABC'), ('Invoice to Client PQR'), ('Invoice to client XYZ'); 输出 执行上述命令后,我们将得到如下消息窗口,显示指定的值已成功插入到Records\表中。 创建并插入Records\表的值后,我们将使用SELECT命令返回Records表的所有行: SELECT * FROM Records; 输出 成功执行上述命令后,我们将得到以下输出,其中显示了Records\表中的所有数据: 注意:根据数据库服务器的当前日期,我们可能会得到不同的Submission_date 值。 PostgreSQL 日期函数示例 我们有以下日期函数,例如NOW()、AGE()、EXTRACT()、TO_CHAR() 等,在 PostgreSQL 中可用,它们有助于我们在使用Date 数据类型时提高性能。 让我们看不同的例子来理解PostgreSQL 日期函数是如何工作的。 首先,我们使用 CREATE 命令的帮助创建作为Student_details 的\新表,并使用 INSERT 命令插入一些值。 我们将使用CREATE命令将Student_details\创建到组织数据库中。 而Student_details\表包含以下列Student_Id、Stu_first_name、Stu_last_name、Date_of_birth 和Admission_date 列,其中Date_of_birth 和Admision_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\表已成功创建到组织数据库中。 一旦生成了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\表的创建和插入,我们将看到以下日期数据类型函数: 以年、月和日为单位评估年龄 我们可以使用AGE()函数以年、月和日为单位分析当前日期的年龄。 例如:在下面的命令中,我们使用AGE() 函数从Student_details\表中计算学生的年龄。 SELECT Student_id, Stu_first_name, Stu_last_name, AGE(Date_of_birth) FROM Student_details; 输出 执行上述命令后,我们将得到以下输出,其中显示了所有具有 AGE() 函数的学生的年龄。 假设我们将一个日期值传递给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值,我们只能检索没有时间部分的日期列记录。 要返回数据库服务器的当前日期,我们可以使用以下命令: SELECT NOW()::date; 输出 执行上述命令后,我们将借助输出中的NOW() 函数获取当前日期,如下所示: 有一种获取当前日期以使用CURRENT_DATE的附加方法,如下所示: SELECT 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()函数用于带两个参数。 在第一个参数是价值,我们希望的格式,而另外一个是模板是指定的输出格式。 在下面的示例中,我们将在以下命令的帮助下以以下格式显示当前日期: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关键字来检索表中特定列的当前日期。 PostgreSQL 串行 PostgreSQL 时间