在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函数的主要内容,如果未能解决你的问题,请参考以下文章