如何调整PostgreSQL中的SET intervalstyle(更改间隔输出)?(How to

2019-10-23 14:31发布

我已阅读本网上PostgreSQL文档......在http://www.postgresql.org/docs/9.4/static/datatype-datetime.html#INTERVAL-STYLE-OUTPUT-TABLE在点8.5.5一些关于如何调整默认的时间间隔输出。 。 我的意思是默认的间隔是这个样子?

00:00:00.000 (if the timedifference is lower than a day or month or year)

1 day 00:00:00.000 (if the timedifference reaches days, but is lower than a month or a year)

1 month 1 day 00:00:00.000 (if the timediffence reaches months, but is lower than a year)

1 year 1 month 1 day 00:00:00.000 (if it reaches years, months, days)

it evens uses plurarl cases (years, mons, days) when their values are greater than one.

选择(查询)这个区间值(如文本)将其转换为一个适当的时候,所有这些变化做出困难的任何其他应用程序。 所以,我想的PostgreSQL一直显示年,月n天,即使它们的值是0(也可能是更好的,如果它可以显示这样的间隔... 30年1月11日的日期部分,添加零至左侧时值小于10)

我知道我可以改变的时间间隔为文本,使用TO_CHAR(),但我真的想避免这种情况,我想一些好人PostgreSQL程序员告诉我,如果这是真的,有是调整时间间隔输出的方式PostgreSQL文档中说。

由于高级。

PD:对上述两个环节https://my.vertica.com/docs/7.1.x/HTML/Content/Authoring/SQLReferenceManual/Statements/SET/SETDATESTYLE.htm http://my.vertica.com/docs /6.1.x/HTML/index.htm#13874.htm

Answer 1:

您可以设置时间间隔输出的风格,但只有少数预先定义的格式上输入unambigious之一,而PostgreSQL所知道如何解析回到区间。 每文档这些是SQL标准间隔格式时,PostgreSQL特定语法的两个变体,和ISO_8601间隔。

如果你想要的东西熟悉且易于解析,可以考虑使用:

SET intervalstyle = 'iso_8601'

和使用用于ISO1601的间隔的偏离的,现成的解析器。



文章来源: How to tweak the SET intervalstyle (change the Interval Output) in PostgreSQL?