📜  postgre 查询日期 - SQL (1)

📅  最后修改于: 2023-12-03 15:18:37.640000             🧑  作者: Mango

PostgreSQL查询日期

PostgreSQL是一个开源的对象-关系型数据库管理系统,支持日期类型的数据,可使用标准的SQL查询语法进行日期查询。

查询当前日期和时间

查询当前日期和时间的SQL语句如下:

SELECT NOW();

结果将返回当前日期和时间的时间戳:

              now
-------------------------------
 2022-01-01 00:00:00.000000+00
(1 row)
查询日期部分

查询日期的一个部分,例如年、月或日的SQL语句如下:

SELECT EXTRACT(YEAR FROM now()) AS year,
       EXTRACT(MONTH FROM now()) AS month,
       EXTRACT(DAY FROM now()) AS day;

结果将返回当前日期的年、月、日:

 year | month | day
------+-------+-----
 2022 |     1 |   1
(1 row)
比较日期

比较日期的SQL语句如下:

SELECT '2021-01-01'::DATE < '2022-01-01'::DATE AS is_2021_before_2022;

结果将返回布尔值,指示2021年是否在2022年之前:

 is_2021_before_2022
---------------------
 t
(1 row)
查询一段时间内的数据

查询一段时间内的数据的SQL语句如下:

SELECT * FROM orders
WHERE order_date BETWEEN '2021-01-01'::DATE AND '2021-12-31'::DATE;

此查询将返回2021年的订单。

将时间戳转换为日期

将时间戳转换为日期的SQL语句如下:

SELECT TO_CHAR('2022-01-01 12:34:56'::TIMESTAMP, 'YYYY-MM-DD') AS date;

结果将返回时间戳的日期部分:

    date
------------
 2022-01-01
(1 row)
将日期格式化为特定的字符串

将日期格式化为特定的字符串的SQL语句如下:

SELECT TO_CHAR('2022-01-01'::DATE, 'Month DD, YYYY') AS formatted_date;

结果将返回格式化的日期:

      formatted_date
-----------------------------
 January 01, 2022
(1 row)

以上是PostgreSQL查询日期的一些常用方法。