如何转换';年月日';至';dd-mmm-yyyy';在PostgreSQL中?

如何转换';年月日';至';dd-mmm-yyyy';在PostgreSQL中?,postgresql,date,datetime,psql,date-conversion,Postgresql,Date,Datetime,Psql,Date Conversion,我想将数据格式“DD-MM-YYYY”(如“31-03-2020”)转换为“DD-MMM-YYYY”(如“31-MAR-2020”)。 有人能帮我一下吗?您需要首先将非标准日期(31-03-2020,实际上是一个text或varchar类型,在Postgres术语中)转换为日期类型,并使用to_date(),然后将其转换为您正在寻找的格式(这实际上也是文本或varchar类型): 或者让它更具可读性: postgres=# WITH dt AS (SELECT to_date('31-03-20

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

您需要首先将非标准日期(
31-03-2020
,实际上是一个
text
varchar
类型,在Postgres术语中)转换为
日期
类型,并使用
to_date()
,然后将其转换为您正在寻找的格式(这实际上也是
文本
varchar
类型):

或者让它更具可读性:

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"

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

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"
你可能会在那里找到解决办法。