if Statement SAP HANA Views

时间:2016-08-30 08:21:03

标签: view hana

使用if语句

在SAP HANA分析视图中的列上添加以下过滤器
if(Col1='a') col2=Col2
else if(Col2='b') col2=col2*1

有人可以帮我为HANA IF语句提供以下逻辑的语法吗?

2 个答案:

答案 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-FunctionIF-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代替了。

另请注意:

  • HANA区分大小写。如果要使用Col1列,则必须编写“Col1”。
  • 还有CASE,其作用类似于IF函数。