在PostgreSQL中使用月份名称进行排序

时间:2014-09-19 10:47:47

标签: postgresql date sql-order-by

我有一个表有一个字段Month_Name,它包含月份的名称。我想按月份名称排序,而不是按字母顺序排序,而是按照其实际顺序排序,例如1月,2月等。如何使用PostgreSQL实现此功能?

有什么方法可以将月份名称转换为数值?

id        billed_unit    billed_amount    town_id    ea_month    ea_year    
3959920   3695.17        25856.84         CHRY     April         2014
3959920   3695.17        25856.84         CHRY     August        2014
3959920   3695.17        25856.84         CHRY     February      2014
3959920   3695.17        25856.84         CHRY     July          2014
3959920   3695.17        25856.84         CHRY     June          2014
3959920   3695.17        25856.84         CHRY     March         2014

1 个答案:

答案 0 :(得分:6)

SELECT * 
FROM EA.TOWN_CONS_BILLING_ROLLUP 
WHERE TOWN_ID='CHRY' 
      AND EA_YEAR=2014 
ORDER BY   
to_date(ea_month,'Month');

Data Type Formatting Functions