我在hive中有下面的select语句,它执行得非常好。
在蜂巢里
select
COALESCE(product_name,CONCAT(CONCAT(CONCAT(TRIM(product_id),' -
'),trim(plan_code)),' - UNKNOWN')) as product_name
from table name;
我试图在POSTGRESQL中使用相同的select语句,但它抛出了一个错误,告诉我“
查询执行失败
原因:
SQL错误(42883):错误:函数CONAT(文本,未知)不存在
提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
在postgresql中:
select
COALESCE(product_name,CONCAT(CONCAT(CONCAT(TRIM(product_id),' -
'),trim(plan_code)),' - UNKNOWN')) as product_name
from table name;
有人能给我点启发吗?
最佳答案
用||
代替concat try:
SELECT COALESCE(product_name,
(TRIM(product_id) || ' - ' || TRIM(plan_code) || ' - UNKNOWN')
) AS product_name
FROM tablename;
或者仅仅是一个CONCAT:
SELECT COALESCE(product_name,
CONCAT(TRIM(product_id)::text, ' - ', TRIM(plan_code)::text, ' - UNKNOWN')
) AS product_name
FROM tablename;
关于sql - PostgreSQL中的Concat函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56262562/