Redshift-合并两列

时间:2018-10-16 06:45:11

标签: sql string merge concatenation amazon-redshift

我有两列,分别是客户名称和产品名称。我想将这两列之间用'-'合并。

任何人都可以建议如何执行此操作。我正在使用Redshift。我尝试了concatstring_agg,但是我想看看是否有没有group by的替代方法。

customer_name, product_name, expected_output
Kev, Prod_A, Kev - Prod_A

2 个答案:

答案 0 :(得分:5)

您可以使用||运算符来连接字符串:

SELECT customer_name, product_name, customer_name || ' - ' || product_name AS output
FROM   mytable

答案 1 :(得分:1)

您可以使用||串联运算符,如@Mureinik所述。但是,我们也可以在此处使用CONCAT函数:

SELECT
    customer_name,
    product_name,
    CONCAT(CONCAT(customer_name, ' - '), product_name) AS output
FROM yourTable;

我对CONCAT为何不起作用的猜测是,您试图向其传递两个以上的参数。 Redshift中的CONCAT仅接受两个参数,因此我们必须在此处链接它们以使其起作用。