DateStyle
是一个 配置参数,用于确定日期和时间值的显示格式。它还确定了解释模糊日期输入值的规则。
DateStyle
在 PostgreSQL 7.3 中添加。
默认值
DateStyle
的默认值为:ISO, MDY
。
但是,initdb
将在生成的 postgresql.conf
文件中创建一个与所选 lc_time
区域设置的行为相对应的条目。
用法
出于历史原因,DateStyle
由逗号分隔的两个元素组成
- 输出格式规范 (
ISO
、Postgres
、SQL
或German
) - 年/月/日排序的输入/输出规范 (
DMY
、MDY
或YMD
)
年/月/日排序规范存在以下同义词
DMY
:Euro
、European
MDY
:US
、NonEuro
、NonEuropean
每个元素可以单独设置,例如 SET DateStyle TO 'SQL'
或 SET DateStyle TO 'YMD'
。
按 PostgreSQL 版本分列的详细信息
DateStyle (PostgreSQL 17)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/17/postgresql.conf |
源代码行 | 737 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 16)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/16/postgresql.conf |
源代码行 | 715 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 15)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/15/postgresql.conf |
源代码行 | 712 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 14)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/14/postgresql.conf |
源代码行 | 694 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 13)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/13/postgresql.conf |
源代码行 | 678 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 12)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/12/postgresql.conf |
源代码行 | 649 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 11)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/11/postgresql.conf |
源代码行 | 590 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 10)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/10/postgresql.conf |
源代码行 | 566 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 9.6)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/96/postgresql.conf |
源代码行 | 553 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 9.5)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/95/postgresql.conf |
源代码行 | 535 |
等待重启 | 否 |
文档:DateStyle
DateStyle (PostgreSQL 9.4)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/94/postgresql.conf |
源代码行 | 522 |
文档:DateStyle
DateStyle (PostgreSQL 9.3)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/93/postgresql.conf |
源代码行 | 504 |
文档:DateStyle
DateStyle (PostgreSQL 9.2)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/92/postgresql.conf |
源代码行 | 498 |
文档:DateStyle
DateStyle (PostgreSQL 9.1)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/91/postgresql.conf |
源代码行 | 481 |
文档:DateStyle
DateStyle (PostgreSQL 9.0)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/90/postgresql.conf |
源代码行 | 462 |
文档:DateStyle
DateStyle (PostgreSQL 8.4)
设置 | ISO, MDY |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | ISO, MDY |
重置值 | ISO, MDY |
源文件 | /home/barwick/devel/postgres/data/84/postgresql.conf |
源代码行 | 433 |
文档:DateStyle
DateStyle (PostgreSQL 8.3)
设置 | |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 |
文档:DateStyle
DateStyle (PostgreSQL 8.2)
设置 | |
单位 | |
类别 | 客户端连接默认值/区域设置和格式化 |
简短描述 | 设置日期和时间值的显示格式。 |
额外描述 | 还控制对模糊日期输入的解释。 |
上下文 | 用户 |
变量类型 | 字符串 |
来源 | 配置文件 |
最小值 | |
最大值 |
文档:DateStyle
更改历史记录
- PostgreSQL 7.3
- 添加 (提交 f0811a74)
示例
DateStyle
是少数几个其规范名称以“驼峰式大小写”格式编写的 GUC 之一
postgres=# SHOW datestyle; DateStyle ----------- ISO, YMD (1 row)
控制对可能存在歧义的日期字符串的解释
postgres=# SET datestyle TO 'YMD'; SET postgres=# SELECT '12-11-10'::date; date ------------ 2012-11-10 (1 row) postgres=# SET datestyle TO 'MDY'; SET postgres=# SELECT '12-11-10'::date; date ------------ 2010-12-11 (1 row)
将 DateStyle
设置为 Postgres
或 SQL
之一将生成以美国仍然流行的、反直觉的、模糊的样式格式化的输出
postgres=# SET datestyle TO 'Postgres, YMD'; SET postgres=# SELECT '12-11-10'::date; date ------------ 11-10-2012 (1 row) postgres=# SET datestyle TO 'SQL'; SET postgres=# SELECT '12-11-10'::date; date ------------ 11/10/2012 (1 row)
German
输出格式使用句点作为分隔符
postgres=# SET datestyle TO 'German, DMY'; SET postgres=# SELECT '12-11-10'::date; date ------------ 12.11.2010 (1 row)
参考文献
- PostgreSQL 文档: DateStyle
有用链接
- ISO 8601 - 关于日期格式的经典 XKCD 公共服务公告