HANA常用语法有哪些

网友投稿 325 2023-12-12

HANA常用语法有哪些

HANA常用语法有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法

SQL--1.查看当前日期 SELECT CURRENT_DATE "DATE" FROM DUMMY;  --查看当前日期零时零分 SELECT TO_TIMESTAMP(TO_CHAR(CURRENT_TIMESTAMP,YYYY-MM-DD)) FROMDUMMY;SELECT CURRENT_DATE FROM DUMMY; --2.查找雇员的姓名及雇员的年薪。P1526659201为SCHEMA SELECT ENAME,SAL*12 FROMP1526659201.EMP;--3.像ORACLE一样任何含空值的数学表达式是空值: SELECT ENAME,SAL*12+COMM  FROM  P1526659201.EMP; --4.其中||相当于把SAL全部转换成字符串 SELECT ENAME||SAL FROM EMP;  --5.表示字符串的方法 SELECT ENAME|| ENAME FROM  EMP;  --6.如果字符串中包含有 用替换它 SELECT ENAME|| ENAME FROM EMP;  --7.取出EMP表的前5条记录 SELECT TOP 5 * FROM EMP;  --8.取出EMP表的全部记录 SELECT ALL * FROM EMP;  --9.去除两个字段重复的数据 SELECT DISTINCT DEPTNO,JOB FROM EMP; --10.取ASCII码 SELECT ASCII(ANT"ASCII" FROM DUMMY;SCHEMA--创建SCHEMA. --语法: CREATE SCHEMA <SCHEMA_NAME> [OWNED BY <USER_NAME>] /*OWNED BY:指定SCHEMA的拥有者,如果省略。当前用户将是这个SHEMA的拥有者*/ CREATE SCHEMAMY_SCHEMA;CREATE SCHEMA MY_SCHEMA OWNED BY SYSTEM. --删除SCHEMA: --语法: DROP SCHEMA<SCHEMA_NAME> [<DROP_OPTION>] DROP_OPTION:CASCADE | RESTRICT /*默认的DROP_OPTION为:RESTRICT(限制约束) RESTRICT:直接删除没有依赖的对象,如果对象有依赖关系,会抛出错误信息。 CASCADE:直接删除所有对象。*/ CREATE SCHEMA MY_SCHEMA; CREATE TABLE MY_SCHEMA.T (A INT); DROP SCHEMA MY_SCHEMA CASCADE; SELECT * FROM TABLES  WHERE SCHEMA_NAME=P1526659201  --查询SCHEMA:P1526659201下的所有表TABLE/*行表适用于如下一些场景:      * 一次处理一条记录的情况      * 应用需要访问完整记录或记录的大部分(即一条记录中的所有字段或大多数字段)      * 不需要压缩率      * 没有或很少的聚集、分组等复杂操作      * 表中的记录行数不是很多 */ --下面是创建行表的一些列子: --例1 CREATE TABLE ACCOUNTS     ( ACT_NO CHAR(18),       ACT_NAMENVARCHAR(100),       BALANCE DECIMAL(15,2),       PRIMARY KEY(ACT_NO)     );--例2 CREATE TABLE R     (A INT PRIMARY KEY,      B NVARCHAR(10)     ); CREATE TABLE F      (FK INT, B NVARCHAR(10),      UNIQUE (FK, B),      FOREIGN KEY(FK) REFERENCES R ON UPDATE CASCADE     )  NO LOGGING; /*依据某个已经存在的表创建另外的新表。HANA SQL提供了两类方法*/--方法一:创建的表与源表数据类型、约束完全相同。例如: CREATE TABLE T_ACCOUNTS LIKEACCOUNTSWITH NO DATA --方法二:创建的表字段类型和NULL/NOT NULL属性相同 CREATE TABLE T_ACCOUNTS1 AS (SELECT * FROM  ACCOUNTS) WITH DATA /*列表适用于如下一些场景:     * 通常只是在一个或少量列上执行计算操作     * 表在进行搜索时通常基于少量列上的值     * 表有很多列     * 表有很多行,并且通常进行的是列式操作(比如:聚集计算和WHERE中字段值查找)     * 需要很高的压缩率。 */ --例1 CREATE COLUMN TABLE TPCH.NATION     (N_NATIONKEY INT NOT NULL,      N_NAME CHAR(25),      N_REGIONKEY INT,      N_COMMENT VARCHAR(152),      PRIMARY KEY(N_NATIONKEY)     );--例2(分区,只适用于列表,分区键必须是主键的一部分) CREATE COLUMN TABLETPCH.LINEITEM     (L_ORDERKEYINT NOT NULL,L_PARTKEY INT,      L_SUPPKEY INT,L_LINENUMBER INT NOT NULL,      L_QUANTITYDECIMAL(10,2),L_EXTENDEDPRICE DECIMAL(10,2),      L_DISCOUNT DECIMAL(10,2),L_TAX DECIMAL(10,2),      L_RETURNFLAG CHAR(1),L_LINESTATUS CHAR(1),      L_SHIPDATE DATE,L_COMMITDATE DATE,L_RECEIPTDATE DATE,      L_SHIPINSTRUCT CHAR(25),L_SHIPMODE CHAR(10),      L_COMMENTVARCHAR(44),      PRIMARY KEY INVERTED VALUE (L_ORDERKEY,L_LINENUMBER)     )     PARTITION BY HASH (L_ORDERKEY,L_LINENUMBER) PARTITIONS 4,     RANGE (L_SHIPDATE) (        PARTITION 2011/01/01<= VALUES <2011/04/01,        PARTITION 2011/04/01<= VALUES <2011/07/01,        PARTITION 2011/07/01<= VALUES <2011/10/01,        PARTITION OTHERS); --HANA查看特定表的分区情况 SELECT * FROM SYS.M_CS_PARTITIONS WHERE TABLE_NAME =  TABLE_NAME; --HANA支持行表转换为列表,或者列表转换为行表。示例如下: ALTER TABLE ACCOUNTS COLUMN THREADS 10 BATCH 10000  --行转列 ALTER TABLE ACCOUNTS  ROW THREADS 10   --列表转为行表INDEX--SAP HANA的索引都是保存在内存中。 --创建索引: --语法:CREATE [UNIQUE] [BTREE | CPBTREE] INDEX <INDEX_NAME> ON <TABLE_NAME> (<COLUMN_NAME_ORDER>, ...) [ASC | DESC] --创建测试表: CREATE ROW TABLE TEST_INDEX (ID INT,NAME NVARCHAR(10), REMARK NVARCHAR(10)); CREATE INDEX INDEXTEST1 ON TEST_INDEX(NAME); CREATE CPBTREE INDEX INDEXTEST2 ON TEST_INDEX(IDNAME DESC); --创建唯一键索引: CREATE UNIQUE INDEX INDEXTEST4 ON TEST_INDEX(ID); CREATE UNIQUE INDEX INDEXTEST3 ON TEST_INDEX(NAME,REMARK); --删除索引: DROP INDEX <INDEX_NAME> DROP INDEX INDEXTEST2;删除索引INDEXTEST2 --查询索引: SELECT * FROM INDEXES WHERE TABLE_NAME =EMP;  --查询员工表中使用的索引 SELECT * FROM INDEX_COLUMNS  WHERE TABLE_NAME =EMP; --查询索引列 SELECT * FROMM_RS_INDEXESWHERE TABLE_NAME = EMP ;--查询索引的统计信息(B-TREE AND CPB-TREE) SELECT * FROM FULLTEXT_INDEXES WHERETABLE_NAME =EMP--查询FULLTEXT 索引 SELECT * FROM M_FULLTEXT_QUEUES; --查看FULLTEXT 索引队列的状态

HANA常用语法有哪些

关于HANA常用语法有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Greenplum工具GPCC和GP日志中时间不匹配的实例分析
下一篇:如何配置Go应用程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~