处理日期,将日期格式转换为文本

时间:2018-08-27 21:10:33

标签: sql postgresql

我在表中有一个日期列

Date
2017-04-01
2017-05-01
2017-04-01

我如何转换为下方

Date
01april2017
01may2017
01april2017

1 个答案:

答案 0 :(得分:3)

您可以尝试将to_charDDmonthYYYY格式一起使用。

由于格式

  

month将使用小写的月份全名(空白填充为9个字符)   因此您可以尝试使用replace函数删除空白。

CREATE TABLE T(
   DATE TIMESTAMP
);


INSERT INTO T VALUES ('2017-04-01');
INSERT INTO T VALUES ('2017-05-01');
INSERT INTO T VALUES ('2017-04-01');

查询1

SELECT replace(to_char(DATE, 'DDmonthYYYY'),' ','')
FROM T

Results

|     replace |
|-------------|
| 01april2017 |
|   01may2017 |
| 01april2017 |

如果您的Date类型是字符串,则可以尝试使用to_date使其成为日期类型,然后使用to_char

SELECT to_char(to_date(Date, 'YYYY-MM-DD'), 'DDmonthYYYY')
FROM T