【发布时间】:2014-02-05 22:20:47
【问题描述】:
我正在尝试将 Vertica 日期列格式化为仅月份。
我需要某种日期数据类型的最终值,因此在报告中我可以按日期/时间排序结果,而不是按文本排序。所以二月排序在一月之后等等。
select TO_DATE(TO_CHAR(purchase_date), 'Month')
from transactions
order by 1;
我也试过了:
select TO_DATE(TO_CHAR(MONTH(purchase_date)), 'Month')
from transactions
order by 1;
以上语句产生错误“Invalid value for Month”
有什么想法吗?
【问题讨论】:
-
你能举例说明你想要得到的输出吗?
-
为什么要尝试将单个“月份”转换回日期?那没有意义。另一个选项可能是
extract(month from purchase_date),它是 ANSI SQL,但我不知道 Vertica 是否支持它。 -
@Gordon Linoff
1 月 - 10 次销售
2 月 - 20 次销售
-
@a_horse_with_no_name,所以行按月/日顺序排序
-
一般来说,对于格式化问题,Vertica 的处理方式与 PostgreSQL 相同。因此,如果您找不到 Vertica 的答案,请在 Internet 上搜索它是如何在 PostgreSQL 中完成的,它很可能是正确的答案。