【发布时间】:2012-02-01 10:39:14
【问题描述】:
我有一张表,其中有一列 month(integer)。在此列中,我存储 1, 2, .. 12 之类的值。
但我必须显示月份name。
例如:
如果值为1,我需要显示jan。
【问题讨论】:
标签: sql postgresql date
我有一张表,其中有一列 month(integer)。在此列中,我存储 1, 2, .. 12 之类的值。
但我必须显示月份name。
例如:
如果值为1,我需要显示jan。
【问题讨论】:
标签: sql postgresql date
基本上是@small_duck 已经发布的内容,但有一些改进:
SELECT to_char(to_timestamp (4::text, 'MM'), 'TMmon')
纯文本转换为4::text 就足够了,不需要to_char(..)。
问题要求小写“jan”,有一个template pattern:mon。
如果要本地化输出,请在模板前面加上 modifier TM。
【讨论】:
可能有一个更快的答案,但似乎可以通过:
例如:
select to_char(to_timestamp(to_char(4, '999'), 'MM'), 'Mon')
返回“四月”。
你可以把它变成一个函数:
create function to_month(integer) returns varchar as
$$
select to_char(to_timestamp(to_char($1, '999'), 'MM'), 'Mon');
$$ language sql
并在整个代码中使用它。
select to_month(month_column) from mytable
【讨论】: