【问题标题】:How to convert 'dd-mm-yyyy' to 'dd-mmm-yyyy' in PostgreSQL?如何在 PostgreSQL 中将 'dd-mm-yyyy' 转换为 'dd-mmm-yyyy'?
【发布时间】:2021-01-06 06:46:08
【问题描述】:

我想将数据格式“DD-MM-YYYY”(例如“31-03-2020”)转换为“DD-MMM-YYYY”(例如“31-MAR-2020”)。 有人可以帮我吗?

【问题讨论】:

标签: postgresql date datetime psql date-conversion


【解决方案1】:

您需要先将非标准日期(31-03-2020,实际上是 textvarchar 类型,在 Postgres 术语中)转换为带有 to_date()DATE 类型,然后将其转换为您要查找的格式(同样,实际上是 textvarchar 类型):


postgres=# select to_char(to_date('31-03-2020','DD-MM-YYYY'), 'DD-Mon-YYYY');
   to_char   
-------------
 31-Mar-2020
(1 row)

或者让它一点更易于人类阅读:

postgres=# WITH dt AS (SELECT to_date('31-03-2020','DD-MM-YYYY') mydate)
SELECT to_char(dt.mydate, 'DD-Mon-YYYY') FROM dt;
   to_char   
-------------
 31-Mar-2020
(1 row)

【讨论】:

    【解决方案2】:

    如果您需要将 select 语句的返回日期转换为特定格式,您可以使用以下格式:

    select to_char(DATE (*date_you_want_to_select*)::date, 'DD-Mon-YYYY') as "Formated Date"
    

    如果您需要将特定日期转换为特定格式,您可以使用以下内容:

    select to_char(DATE '2020-03-31', 'DD-Mon-YYYY') as "Formated Date"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-12
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多