【问题标题】:How to change datestyle in PostgreSQL如何在 PostgreSQL 中更改日期样式
【发布时间】:2015-10-21 03:16:55
【问题描述】:

我知道这已经被问过很多次了,但是无论我在 PostgreSQL 9.4 中尝试什么,日期样式都会在一分钟左右的时间内恢复为 ISO、MDY。我需要日期格式:

SET datestyle to SQL,DMY;
Show datesyle;

例如dd/mm/yyyy ... - 输入后,'show' 命令显示 SQL,DMY

SELECT NOW();

以正确的格式显示当前日期

每次我应用此设置并查看我的日期列时,它仍然会将我的输入转换为 yyyy-mm-dd。然后不久之后,如果我运行:

Show datestyle;

回到 ISO,MDY。

我以其他三种方式应用了日期样式:

ALTER DATABASE "database" SET datestyle TO SQL,DMY;

ALTER USER "User" SET datestyle to SQL,DMY;
  • postgresql.config - 更改 datestyle 变量并重新启动服务器

我花了几个小时查找建议并尝试编辑 LC_TIME,结果是一样的。

【问题讨论】:

  • 输出的格式化始终由您使用的 SQL 客户端完成。除非您使用psql,否则您需要查看 SQL 客户端的手册,了解如何更改日期的显示格式

标签: sql postgresql date


【解决方案1】:

我怀疑答案在这里:http://www.postgresql.org/docs/current/static/sql-set.html

引用“SET 只影响当前会话使用的值。

但我想知道您为什么要强制使用默认日期样式。只需在所有交互中使用 YYYY-MM-DD。这是ISO标准!当外部提供值时,用 to_date() 转换它并用 to_char() 输出格式。

【讨论】:

  • 谢谢,关于 SET 日期样式是临时的,您是对的。我想使用 ISO,但 YYYY-MM-DD 看起来令人困惑,我们将直接查看/编辑表数据,而不是调用可以包含 t0_date() 或 to_char() 的查询。我只是很惊讶没有一个简单的设置至少允许表格显示 dd-mm-yyyy
【解决方案2】:

对我有用的是修改 postgresql.conf 中的“datestyle”属性。就我而言,它位于 /etc/postgresql/9.5/main/postgresql.conf

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 1970-01-01
    • 2013-05-13
    • 2019-01-09
    • 2021-06-07
    • 2015-08-26
    • 2017-11-08
    相关资源
    最近更新 更多