【问题标题】:using concat function in sql在sql中使用concat函数
【发布时间】:2018-08-29 00:30:11
【问题描述】:

样本数据

 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

【问题讨论】:

  • 请显示您尝试过的查询,并详细解释不适用的地方(错误消息、意外结果等)。
  • 从表中选择 concat('15+',yearmon);它让我函数 concat(string,string) 不存在。
  • 试试这个。选择'15-' ||表中的年份

标签: sql greenplum


【解决方案1】:

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;

【讨论】:

    【解决方案2】:

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

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

    这会产生一个具有适当数据类型的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-27
      • 2015-02-26
      • 2018-10-03
      • 2018-07-07
      • 2015-06-11
      相关资源
      最近更新 更多