我有两列,分别是客户名称和产品名称。我想将这两列之间用'-'合并。
任何人都可以建议如何执行此操作。我正在使用Redshift。我尝试了concat
和string_agg
,但是我想看看是否有没有group by
的替代方法。
customer_name, product_name, expected_output
Kev, Prod_A, Kev - Prod_A
答案 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
仅接受两个参数,因此我们必须在此处链接它们以使其起作用。