是否有可能使用类似SELECT * FROM xy WHERE xy.field的内容:array; 在SQL SCRIPT?我正在使用Abap Managed Datebase Procedures
DECLARE arr NVARCHAR(5) ARRAY;
IF i_where = ''
THEN arr = ARRAY ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7' );
ELSE arr = ARRAY ( i_where );
END IF;
e_result = SELECT DISTINCT
...
WHERE sales.hierarchy in :arr
谢谢!
答案 0 :(得分:0)
是的,您可以使用 [NOT] MEMBER OF 函数https://help.sap.com/saphelp_hanaplatform/helpdata/en/f6/66b950e5d34f84bb5b6f125e7e85c4/content.htm来检查数组中的匹配项。
如果您希望数组内容成为列的过滤器,那么首先需要UNNEST它。
答案 1 :(得分:-1)
不是直接的,但您可以使用UNNEST制作表格,如下所示:
tbl = UNNEST(:arr);
SELECT .... WHERE sales.hierarchy in :tbl;
答案 2 :(得分:-1)
命名不需要的字段。 tbl = UNNEST(:arr)as(" fieldname"); 尝试 ...在哪里sales.hierarchy IN(selec" fieldname" from tbl)