案例陈述提供了错误信息,未将“ ABC”转换为float8

时间:2018-07-12 05:32:43

标签: sql case vertica

我正在尝试在sql语句下运行,但是无法转换为浮点数。默认情况下,case的返回类型为float。尝试将其强制转换为Row_num,Name中的varchar,但没有帮助。任何帮助都会有所帮助。 数据库= Vertica

SELECT 
Name,
ID,
row_num,

(Case when Row_num  = 1 Then Name  END) +
(Case When Row_num  = 2 Then Name  END)
FROM table ;

2 个答案:

答案 0 :(得分:0)

我会尝试:

SELECT 
Name,
ID,
row_num,
(SELECT Name FROM table WHERE Row_num = 1) +
(SELECT Name FROM table WHERE Row_num = 2) AS ConcatNames
FROM table ;

答案 1 :(得分:0)

要在Vertica中连接字符串,请使用||

SELECT Name, ID, row_num,
       ((Case when Row_num  = 1 Then Name  END) ||
        (Case When Row_num  = 2 Then Name  END)
       )
FROM table ;

我不确定这应该做什么,因为一个或两个case表达式将返回NULL