在PostgreSQL上设置默认日期格式

在PostgreSQL上设置默认日期格式,sql,postgresql,Sql,Postgresql,下午好 许多人可能已经知道,例如,在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). 不

下午好

许多人可能已经知道,例如,在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). 不管怎样,我一直想不出答案


有什么建议吗?提前感谢您,并祝您节日愉快

可能是
SET DATESTYLE
实现了您想要的功能,至少在日期的日、月、年部分


搜索。

可能是
设置日期样式
实现了您想要的功能,至少在日期的日、月、年部分

搜索。

没有默认格式,但您可以为此使用一个变量来解决此问题

只需使用默认设置创建自己的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;
“normal”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;

“normal”to_char函数也可以使用,您仍然可以使用该选项。

您真的在使用7.4版吗?那是很久以前的事了。。。请使用较新的版本,至少是8.3版。目前,所有较旧的版本都是EOL。并使用匹配的文档。实际上我正在使用10g,但我正在使用的代码是很久以前编写的。我正在做的是将代码迁移到PostgreSQL,所以问题就出现了。不管怎样,你的建议对我们大家都是一个很好的提醒。谢谢检查我编辑的答案,这将解决问题。你真的在使用7.4版吗?那是很久以前的事了。。。请使用较新的版本,至少是8.3版。目前,所有较旧的版本都是EOL。并使用匹配的文档。实际上我正在使用10g,但我正在使用的代码是很久以前编写的。我正在做的是将代码迁移到PostgreSQL,所以问题就出现了。不管怎样,你的建议对我们大家都是一个很好的提醒。谢谢检查我编辑的答案,这将解决问题。这将只给你4个固定选项,而不是用户定义的选项。这将只给你4个固定选项,而不是用户定义的选项。看起来不错!这是最准确的方法。谢谢看起来不错!这是最准确的方法。谢谢