【问题标题】:Order by using month name in PostgreSQL在 PostgreSQL 中使用月份名称排序
【发布时间】:2014-11-13 22:41:56
【问题描述】:

我有一个表,其中有一个字段 Month_Name,它包含月份的名称。我想按月份名称排序,不是按字母顺序,而是按实际顺序,例如一月、二月等。如何使用 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

【问题讨论】:

  • Month_Name 的字段类型是什么??
  • 其性格不同
  • 显示您想要ORDER BY的选择查询
  • SELECT * FROM EA.TOWN_CONS_BILLING_ROLLUP WHERE TOWN_ID='CHRY' AND EA_YEAR=2014 ORDER BY ea_month;我将把这个查询的输出放在问题中
  • 一个示例月份名称??只是想知道是“一月”还是“一月”

标签: postgresql date sql-order-by


【解决方案1】:
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

【讨论】:

  • @YousufIbnAkhtarSultan 通过PostgreSQL documentations
  • @IbrahimMohammed 我从来没有说过这个解决方案适用于distinct on()
  • 对不起,我知道你没有,但我正在尝试,所以我想你会有一个解决方案,因为我无法绕过它
  • @IbrahimMohammed 打开一个新问题。如果问题符合 SO 要求,您将获得答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
相关资源
最近更新 更多