在SQL中使用concat函数

时间:2018-08-29 00:30:11

标签: sql greenplum

样本数据

 yearmon
 Jul-2017
 Aug-2017
 Sep-2017
 Jan-2018
 Jul-2018

我要在yearmon列中添加“ 15”。

我尝试使用concat函数,但是它不起作用。

预期

  yearmon
 15-Jul-2017
 15-Aug-2017
 15-Sep-2017
 15-Jan-2018
 15-Jul-2018

2 个答案:

答案 0 :(得分:3)

SQL标准具有一个用于连接的运算符,该运算符易于理解且易于键入。 您只使用||运算符,就像您将+用于整数一样:

SELECT '15-' || yearmon AS full_date FROM table;

concat 函数正在调用||内部操作员。 concat 函数将被调用如下。

SELECT concat ('15-', yearmon) AS full_date FROM table;
SELECT concat_ws ('-', '15', yearmon) AS full_date FROM table;

答案 1 :(得分:1)

我非常喜欢将日期存储为日期而不是字符串。因此,我建议:

select to_date('Jul-2017', 'MON-YYYY') + interval '14 day')

这将产生具有适当数据类型的值。