文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

HANA常用语法有哪些

2024-04-02 19:55

关注

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

SQL
--1.查看当前日期
SELECT CURRENT_DATE "DATE" FROM DUMMY; 
--查看当前日期零时零分
SELECT TO_TIMESTAMP(TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD')) FROM DUMMY;
SELECT CURRENT_DATE FROM DUMMY;
--2.查找雇员的姓名及雇员的年薪。P1526659201为SCHEMA
SELECT ENAME,SAL*12 FROM  P1526659201.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>]

CREATE SCHEMA MY_SCHEMA;
CREATE SCHEMA MY_SCHEMA OWNED BY SYSTEM.
--删除SCHEMA:
--语法:
DROP SCHEMA <SCHEMA_NAME> [<DROP_OPTION>]
DROP_OPTION: CASCADE | RESTRICT

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_NAME NVARCHAR(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;
:
--方法一:创建的表与源表数据类型、约束完全相同。例如:
CREATE TABLE T_ACCOUNTS LIKE ACCOUNTS WITH NO DATA
--方法二:创建的表字段类型和NULL/NOT NULL属性相同
CREATE TABLE T_ACCOUNTS1 AS (SELECT * FROM  ACCOUNTS) WITH DATA

--例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 TABLE TPCH.LINEITEM
    (L_ORDERKEY INT NOT NULL,L_PARTKEY INT,
     L_SUPPKEY INT,L_LINENUMBER INT NOT NULL,
     L_QUANTITY DECIMAL(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_COMMENT VARCHAR(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(ID, NAME 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 * FROM M_RS_INDEXES  WHERE TABLE_NAME = 'EMP' ;--查询索引的统计信息(B-TREE AND CPB-TREE)
SELECT * FROM FULLTEXT_INDEXES WHERE TABLE_NAME = 'EMP'; --查询FULLTEXT 索引
SELECT * FROM M_FULLTEXT_QUEUES; --查看FULLTEXT 索引队列的状态

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯