在sql中使用concat函数

Posted

技术标签:

【中文标题】在sql中使用concat函数【英文标题】:using concat function in sql 【发布时间】: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-' ||表中的年份 【参考方案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')

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

【讨论】:

以上是关于在sql中使用concat函数的主要内容,如果未能解决你的问题,请参考以下文章

SQL---CONCAT系列函数

SQL— CONCAT(字符串连接函数)

如何在 ARel 中使用 CONCAT() 等函数?

如何在sql server中使用group_concat进行查询[重复]

SQL常用函数

SQL之concat()collect_set()collect_list()和concat_ws()用法