PostgreSql 日期时间输出风格及顺序

一、概述

  PostgreSQL 中日期时间的输出格式及顺序均由 datestyle 参数控制,两者可以被独立设置或者一起设置。默认值是 ISO,MDY。

二、输出格式

  PostgreSQL 中时间/日期类型的输出格式可以设成四种风格之一:ISO 8601、SQL(Ingres)、传统的 POSTGRES(Unix的date格式)或 German 。缺省是 ISO 格式(ISO标准要求使用 ISO 8601 格式)。

sql 复制代码
--ISO 风格
postgres=# set datestyle = 'ISO';
SET
postgres=# select current_timestamp;
       current_timestamp
-------------------------------
 2023-02-27 16:21:40.605044+08
(1 row)

--SQL 风格
postgres=# set datestyle = 'SQL';
SET
postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 02/27/2023 16:22:00.884861 CST
(1 row)

--POSTGRES 风格
postgres=# set datestyle = 'POSTGRES';
SET
postgres=# select current_timestamp;
          current_timestamp
-------------------------------------
 Mon Feb 27 16:22:14.589116 2023 CST
(1 row)

--German 风格
postgres=# set datestyle = 'German';
SET
postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 27.02.2023 16:22:23.080493 CST
(1 row)

三、输入输出顺序

  PostgreSQL 中时间输入输出顺序可设置三种顺序之一:DMY、MDY 或 YMD,缺省是 MDY 顺序。

sql 复制代码
--风格为 ISO 时的顺序
postgres=# show datestyle;
 DateStyle
-----------
 ISO, MDY
(1 row)

postgres=# select current_timestamp;
      current_timestamp
------------------------------
 2023-03-06 09:40:51.05446+08
(1 row)

postgres=# set datestyle = 'DMY';
SET
postgres=# select current_timestamp;
       current_timestamp
-------------------------------
 2023-03-06 09:41:24.996177+08
(1 row)

postgres=# set datestyle = 'YMD';
SET
postgres=# select current_timestamp;
       current_timestamp
-------------------------------
 2023-03-06 09:41:35.327119+08
(1 row)

--风格为 SQL 时的顺序
postgres=# set datestyle = 'SQL';
SET
postgres=# show datestyle;
 DateStyle
-----------
 SQL, MDY
(1 row)

postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 03/06/2023 09:45:41.371565 CST
(1 row)

postgres=# set datestyle = 'DMY';
SET
postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 06/03/2023 09:45:48.797223 CST
(1 row)

postgres=# set datestyle = 'YMD';
SET
postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 03/06/2023 09:46:04.377456 CST
(1 row)

--风格为 POSTGRES 时的顺序
postgres=# set datestyle = 'POSTGRES';
SET
postgres=# show datestyle;
   DateStyle
---------------
 Postgres, MDY
(1 row)

postgres=# select current_timestamp;
          current_timestamp
-------------------------------------
 Mon Mar 06 09:48:28.792725 2023 CST
(1 row)

postgres=# set datestyle = 'DMY';
SET
postgres=# select current_timestamp;
         current_timestamp
------------------------------------
 Mon 06 Mar 09:48:43.27396 2023 CST
(1 row)

postgres=# set datestyle = 'YMD';
SET
postgres=# select current_timestamp;
          current_timestamp
-------------------------------------
 Mon Mar 06 09:49:10.084696 2023 CST
(1 row)

--风格为 German 时的顺序
postgres=# set datestyle = 'German';
SET
postgres=# show datestyle;
  DateStyle
-------------
 German, DMY
(1 row)

postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 06.03.2023 09:50:41.023778 CST
(1 row)

postgres=# set datestyle = 'MDY';
SET
postgres=# select current_timestamp;
       current_timestamp
--------------------------------
 06.03.2023 09:50:55.125557 CST
(1 row)

postgres=# set datestyle = 'YMD';
SET
postgres=# select current_timestamp;
       current_timestamp
-------------------------------
 06.03.2023 09:51:16.61567 CST
(1 row)

四、总结

  • 风格为 ISO 和 German 时,时间显示结果不受排序影响。
  • 风格为 SQL 和 POSTGRES 时,时间显示结果中的 月、日 受排序影响。
相关推荐
羑悻的小杀马特1 分钟前
从写 YAML 到集群自愈:KES-Operator 把 KES 集群接进 Kubernetes 原生体系
运维·数据库·容器·kubernetes
bksczm5 分钟前
MySQL基础篇之事务
linux·数据库·sql·mysql
李白客6 分钟前
数据库管理工具怎么选?Navicat、DataGrip、DBeaver 六维横向对比与选型建议
运维·数据库
马立杰7 分钟前
mysql中Illegal mix of collations for operation “UNION”错误的解决方法
数据库·sql·网络安全
蓝速科技9 分钟前
蓝速 K10 三防平板在工业恶劣工况下的选型与应用指南
大数据·运维·数据库·人工智能·科技
bksczm11 分钟前
MySQL基础篇之视图与用户管理
linux·数据库·sql·mysql
香菜TTT17 分钟前
怎么实现MySQL的主从同步机制
数据库·mysql
2501_933670799 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐111 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh12 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms