我在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/

10-15 19:37