我的日期风格:
=> show datestyle;
DateStyle
-----------
ISO, YMD
其显示格式为:
=> select now()::DATE;
now
------------
2013-10-17
但我想要输出:
now
------------
17-Oct-2013
这可以使用TO_CHAR(timestamp,'MON-YY')
但它的数据类型更改为字符串我希望数据类型仅作为时间戳来完成
我的日期风格:
=> show datestyle;
DateStyle
-----------
ISO, YMD
其显示格式为:
=> select now()::DATE;
now
------------
2013-10-17
但我想要输出:
now
------------
17-Oct-2013
这可以使用TO_CHAR(timestamp,'MON-YY')
但它的数据类型更改为字符串我希望数据类型仅作为时间戳来完成
我的应用程序是针对大量数据的纯大数据解决方案,因此我希望最大限度地利用数据库功能,而不是在应用程序级别编写自定义代码。
这可以通过使用一种技巧来完成:正如我所说TO_CHAR(timestamp,'MON-YY')
的可以用来转换类型。
我们可以TO_CHAR(timestamp,'MON-YY')
使用简单地将值转换为日期
('01-' || TO_CHAR(timestamp,'MON-YY')):: DATE
值的格式化应该发生在应用程序或客户端中,而不是在数据库层中。
我认为您将无法在不更改日期样式的情况下保留格式。或者正如@Michael-O 所建议的那样,您可以在业务级别获取和格式化