如何以'DD-Mon-YYYY'格式获取postgres sql时间戳?

时间:2013-10-17 09:00:22

标签: sql postgresql date

我的日期风格:

=> show datestyle;
    DateStyle
   -----------
     ISO, YMD

其显示格式为:

=> select now()::DATE;
now
------------
 2013-10-17

但我想要输出:

now
------------
 17-Oct-2013

这可以使用TO_CHAR(timestamp,'MON-YY')完成,但其数据类型更改为字符串我希望数据类型仅为时间戳

3 个答案:

答案 0 :(得分:1)

值的格式化应该在应用程序或客户端中进行,而不是在数据库层中进行。

答案 1 :(得分:1)

我不认为您可以在不更改日期样式的情况下保留格式。或者正如@ Michael-O所建议的那样,您可以在业务级别获取和格式化

答案 2 :(得分:1)

我的应用程序纯粹是针对大量数据的大数据解决方案,因此我希望最大限度地利用数据库功能,而不是在应用程序级别编写自定义代码。

这可以通过使用一个hack来完成: 正如我所说,TO_CHAR(timestamp,'MON-YY')可用于转换类型。

我们可以使用简单地将TO_CHAR(timestamp,'MON-YY')值转换为日期 ('01-' || TO_CHAR(timestamp,'MON-YY')):: DATE