在PostgreSQL上设置默认日期格式

3

下午好,

你们中的许多人可能已经知道,在Oracle中,可以设置格式化函数(例如to_char)使用的默认日期格式,就像这样:

ALTER SESSION SET NLS_DATE_FORMAT='SYYYY/MM/DD~HH24:Mi:SS'

我的问题是:在PostgreSQL中是否有相应的等价物。我一直在寻找答案,但没有成功,尽管我已经找到了一些有关PostgreSQL语言环境设置的参考资料(http://www.postgresql.org/docs/7.4/static/charset.html)。无论如何,我都无法找到答案。
有什么建议吗?提前感谢您,并祝您节日快乐!

2
你真的在使用7.4版本吗?那个版本已经很久没有更新了...请使用更新的版本,至少使用8.3版本,所有旧版本都已经停止更新。同时,请使用相应的文档。 - Frank Heikens
实际上我正在使用10g,但我正在处理的代码是很久以前写的。我现在正在将那段代码迁移到PostgreSQL,所以问题就出现了。不管怎样,你的建议对我们所有人都是一个很好的提醒。谢谢! - Sergio
检查我的编辑答案,这会解决问题。 - Frank Heikens
2个回答

9

可能你需要的是 SET DATESTYLE,至少对于日期的日、月、年部分而言。

在这里搜索DateStyle


这只会给你4个固定选项,而不是用户定义的。 - Frank Heikens

4

to_char没有默认格式,但你可以使用变量来克服这个问题。

只需创建自己的to_char函数,并使用默认设置:

CREATE OR REPLACE FUNCTION to_char(timestamptz) RETURNS text AS
$$
    SELECT to_char($1,'YYYY/MM/DD~HH24:Mi:SS'); -- here your default setting
$$
LANGUAGE SQL;

"常规"的to_char函数也可以使用,你仍然有这个选项。

看起来不错!这是最准确的方法。谢谢! - Sergio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接