SAP HANA是一款支持企业预置型部署和云部署模式的内存计算平台 ,提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析,而不需要对业务数据进行建模、聚合等。为方便搜索,将其常用的sql备份写下:
1,创建序列
CREATE SEQUENCE sequence1 START WITH 2999;
2,从一个表查数据插入到另一个表
insert into "BIPORTAL"."BIP_SYS_DRP"(ma_arch,id) select ma_arch,sequence3.NEXTVAL from "BIPORTAL"."V_T024";
注意 ,如果需要查询distinct ma_arch,但是sequence3.NEXTVAL是不允许distinct的,怎么办?
变通方法:此时可以先distinct建一个视图,再从视图中select。
3,数字转字符串
to_char(sequence3.NEXTVAL)
4,字符串转数字
to_decimal(sequence3.NEXTVAL)
5,修改一个字段的长度和类型
alter table "BIPORTAL"."BASIS_TB_DICT_TYPE" alter( pa_value VARCHAR(200));
6, a)添加一列 (可以图形化修改)
alter table "BIPORTAL"."YA_SYS_ACCOUNT" add ("WFJ_USER_ID" VARCHAR (100) null);
b)删除一列 (可以图形化修改)
alter table "BIPORTAL"."YA_SYS_ACCOUNT" drop ("ID");
7,修改表名:
RENAME TABLE "BIPORTAL"."P_PAY_TYPE_CRM" TO "BIPORTAL"."DICT_PAY_TYPE_CRM";
8 ,自动添加一列编号:
需求:根据部门分组,显示每个部门的工资等级
SELECT *, Row_Number() OVER () FROM employee 或者:
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) FROM employee
9,从一个表读取一列数据插入到另一表的一列中:
update "BIPORTAL"."DICT_ZHIBIAO_ALL" t1 set t1.name9=(select t2.name from "BIPORTAL"."DICT_ZHIBIAO9" t2 where t1.id=t2.id );
10,添加删除主键:
【删除所有主键】alter table "BIPORTAL"."BIP_SYS_DRP" drop primary key;
【删除单个主键】先export,修改导出的sql ... PRIMARY KEY INVERTED VALUE ("MDH", "ZL_CODE"... 更改sql后再导入。
【添加主键】alter table "BIPORTAL"."BIP_SYS_DRP" add [constraint key1] primary key(id);
11,对查询出的字符串进行替换(按照一定的映射规则替换,case when太语法太笨)
SELECT MAP(STORE_CLASS_CODE,'xxx','你好',
'sss','春天','') AS xxx FROM "_SYS_BIC"."com.xxx.xxx.xx/xx"
12,读取表的注释中文 comment 字段(以下两种都可以,不同的是COLUMNS中既有table也有view,
TABLE_COLUMNS中只有table):
a) select COLUMN_NAME,comments from "SYS"."COLUMNS" where TABLE_NAME = 'VBRP'
或:b) select COLUMN_NAME,comments from "SYS"."TABLE_COLUMNS" where TABLE_NAME = 'VBRP'
13,修改列名
RENAME COLUMN "BIPORTAL"."IM_SHOPPE_CATEGORY".GROUP_CODE TO GROUP_NAME
14,hana表列模式和行模式互转
ALTER TABLE <schema_name>.<table_name> COLUMN;
ALTER TABLE <schema_name>.<table_name> ROW;
HANA数据库同时支持行存储和列存储。列存储读性能好,拥有较高的压缩比,一些特性如分区只适用于列存储。常用于批量更新的大数据量表。行存储更新插入性能好,常用于经常单独操作的小数据量表。
15,查找模型的列名和中文描述:
SELECT DISTINCT "ORDER", "COLUMN_NAME", "COLUMN_CAPTION"
FROM "_SYS_BI"."BIMC_DIMENSION_VIEW"
WHERE ("CUBE_NAME" = 'DIM_WORKFLOWS')
ORDER BY "ORDER" ASC;
16,替换列中部分字符串
update "BIPORTAL"."TB_COUNTERS_TYPE" set tname= replace(tname,'BIPORTAL.','HANA_BI.');
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595