|
SAP HANA SQLScript 中的CE Plan Operators 包括两种:Data Source Acess和Relational Operators。其中Data Source Acess包括CE_COLUMN_TABLE、CE_JOIN_VIEW、CE_OLAP_VIEW、CE_CALC_VIEW;> CE_PROJECTION
语法:
[sql] view plaincopyprint?
- CE_PROJECTION (:var_table, [param_name [AS new_param_name], ...],[Filter])
CE_PROJECTION (:var_table, [param_name [AS new_param_name], ...],[Filter])
例子::
[sql] view plaincopyprint?
- ot_books1 = CE_PROJECTION (:it_books,["TITLE","PRICE","CRCY" AS "CURRENCY"], '"PRICE" > 50');
ot_books1 = CE_PROJECTION (:it_books,["TITLE","PRICE","CRCY" AS "CURRENCY"], '"PRICE" > 50');
相当于:
[sql] view plaincopyprint?
- ot_books2= SELECT title, price, crcy AS currency FROM :it_books WHERE price > 50;
ot_books2= SELECT>
[sql] view plaincopyprint?
[sql] view plaincopyprint?
解释:
用于限制变量表的列的输出,可以选择性的重命名,计算表达式或者包含过滤器。
CE_CALC
语法:
[sql] view plaincopyprint?
- CE_CALC('expr', [Result Type])
CE_CALC('expr', [Result Type])
例子:
[sql] view plaincopyprint?
- with_tax = CE_PROJECTION(:product, ["CID", "CNAME", "OID", "SALES",
with_tax = CE_PROJECTION(:product, ["CID", "CNAME", "OID", "SALES",
[sql] view plaincopyprint?
- CE_CALC('"SALES" * :vat_rate',decimal(10,2)) AS "SALES_VAT"],
- '"CNAME" = '':cname''');
CE_CALC('"SALES" * :vat_rate',decimal(10,2)) AS "SALES_VAT"],
'"CNAME" = '':cname''');
相当于:
[sql] view plaincopyprint?
- with_tax2 = select CID, CNAME, OID, SALES, (SALES * :vat_rate) as SALES_VAT from :product where CNAME = ':name';
with_tax2 = select CID, CNAME, OID, SALES, (SALES * :vat_rate) as SALES_VAT from :product where CNAME = ':name';
解释:
主要用于其他运算中,请注意例子中的参数的表现形式。
CE_AGGREGATION
语法:
[sql] view plaincopyprint?
- CE_AGGREGATE(:var_table, [aggregate("column")[AS "renamed_col"]], ["column", ...])
CE_AGGREGATE(:var_table, [aggregate("column")[AS "renamed_col"]], ["column", ...])
例子:
[sql] view plaincopyprint?
- ot_books1 = CE_AGGREGATION (:it_books,[COUNT ("PUBLISHER") AS "CNT"], ["YEAR"]);
ot_books1 = CE_AGGREGATION (:it_books,[COUNT ("PUBLISHER") AS "CNT"], ["YEAR"]);
相当于:
[sql] view plaincopyprint?
- ot_books2 = SELECT COUNT (publisher) AS cnt, year FROM :it_books GROUP BY year;
ot_books2 = SELECT COUNT (publisher) AS cnt, year FROM :it_books GROUP BY year;
解释:
用于聚合运算。
|
|