使用if语句
在SAP HANA分析视图中的列上添加以下过滤器if(Col1='a') col2=Col2
else if(Col2='b') col2=col2*1
有人可以帮我为HANA IF语句提供以下逻辑的语法吗?
答案 0 :(得分:1)
为什么不首先使用documentation? 不太清楚你在这里想做什么。看起来就像你基于col1的比较使用col2来计算一些东西。由于View不允许您更新列中的值,因此您需要创建col3并将其放在以下位置:
if("Col1" = 'a',"Col2", if("Col1" = 'b',"Col2" * 1,'not a not b') )
顺便说一下,你认为col2 = col2 * 1有道理吗?
答案 1 :(得分:0)
您(或Shidai)可能会使IF-Function与IF-Statement混淆吗?两者的工作方式不同:
SELECT IF("Col1"=='a', 'aaahhh', 'uhhhhh') FROM DUMMY;
这就像在Excel中一样:如果Col1是'a',则返回第一个值,否则返回第二个值。
DECLARE x VARCHAR(100);
IF "Col1"='a'
THEN
x := "Col2";
ELSEIF "Col2"='b'
THEN
x := "Col2" * 1;
END IF
这是一个控制结构,只允许在SQLScript 块中使用,例如存储过程或匿名块。您不能在简单的SELECT语句中使用它。
分配到col2时你想要做什么并不是很清楚,所以我用x代替了。
另请注意: