如何在 PostgreSQL 中将 'dd-mm-yyyy' 转换为 'dd-mmm-yyyy'?

How to convert 'dd-mm-yyyy' to 'dd-mmm-yyyy' in PostgreSQL?

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

您需要先将非标准日期(31-03-2020,在 Postgres 术语中实际上是 textvarchar 类型)转换为 DATE 键入 to_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)

如果您需要将 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"