HANA常用語(yǔ)法有哪些,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
成都創(chuàng)新互聯(lián)從2013年成立,先為鶴崗等服務(wù)建站,鶴崗等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鶴崗企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
--1.查看當(dāng)前日期 SELECT CURRENT_DATE "DATE" FROM DUMMY; --查看當(dāng)前日期零時(shí)零分 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一樣任何含空值的數(shù)學(xué)表達(dá)式是空值: SELECT ENAME,SAL*12+COMM FROM P1526659201.EMP; --4.其中||相當(dāng)于把SAL全部轉(zhuǎn)換成字符串 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.去除兩個(gè)字段重復(fù)的數(shù)據(jù) SELECT DISTINCT DEPTNO,JOB FROM EMP; --10.取ASCII碼 SELECT ASCII('ANT') "ASCII" FROM DUMMY;
--創(chuàng)建SCHEMA. --語(yǔ)法: CREATE SCHEMA[OWNED BY ] /*OWNED BY:指定SCHEMA的擁有者,如果省略。當(dāng)前用戶將是這個(gè)SHEMA的擁有者*/ CREATE SCHEMA MY_SCHEMA; CREATE SCHEMA MY_SCHEMA OWNED BY SYSTEM. --刪除SCHEMA: --語(yǔ)法: DROP SCHEMA [ ] DROP_OPTION: CASCADE | RESTRICT /*默認(rèn)的DROP_OPTION為:RESTRICT(限制約束) RESTRICT:直接刪除沒有依賴的對(duì)象,如果對(duì)象有依賴關(guān)系,會(huì)拋出錯(cuò)誤信息。 CASCADE:直接刪除所有對(duì)象。*/ 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下的所有表
/*行表適用于如下一些場(chǎng)景: * 一次處理一條記錄的情況 * 應(yīng)用需要訪問完整記錄或記錄的大部分(即一條記錄中的所有字段或大多數(shù)字段) * 不需要壓縮率 * 沒有或很少的聚集、分組等復(fù)雜操作 * 表中的記錄行數(shù)不是很多 */ --下面是創(chuàng)建行表的一些列子: --例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; /*依據(jù)某個(gè)已經(jīng)存在的表創(chuàng)建另外的新表。HANA SQL提供了兩類方法*/: --方法一:創(chuàng)建的表與源表數(shù)據(jù)類型、約束完全相同。例如: CREATE TABLE T_ACCOUNTS LIKE ACCOUNTS WITH NO DATA --方法二:創(chuàng)建的表字段類型和NULL/NOT NULL屬性相同 CREATE TABLE T_ACCOUNTS1 AS (SELECT * FROM ACCOUNTS) WITH DATA /*列表適用于如下一些場(chǎng)景: * 通常只是在一個(gè)或少量列上執(zhí)行計(jì)算操作 * 表在進(jìn)行搜索時(shí)通?;谏倭苛猩系闹? * 表有很多列 * 表有很多行,并且通常進(jìn)行的是列式操作(比如:聚集計(jì)算和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(分區(qū),只適用于列表,分區(qū)鍵必須是主鍵的一部分) 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查看特定表的分區(qū)情況 SELECT * FROM SYS.M_CS_PARTITIONS WHERE TABLE_NAME = 'TABLE_NAME'; --HANA支持行表轉(zhuǎn)換為列表,或者列表轉(zhuǎn)換為行表。示例如下: ALTER TABLE ACCOUNTS COLUMN THREADS 10 BATCH 10000 --行轉(zhuǎn)列 ALTER TABLE ACCOUNTS ROW THREADS 10 --列表轉(zhuǎn)為行表
--SAP HANA的索引都是保存在內(nèi)存中。 --創(chuàng)建索引: --語(yǔ)法:CREATE [UNIQUE] [BTREE | CPBTREE] INDEXON ( , ...) [ASC | DESC] --創(chuàng)建測(cè)試表: 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); --創(chuàng)建唯一鍵索引: CREATE UNIQUE INDEX INDEXTEST4 ON TEST_INDEX(ID); CREATE UNIQUE INDEX INDEXTEST3 ON TEST_INDEX(NAME,REMARK); --刪除索引: DROP INDEX 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' ;--查詢索引的統(tǒng)計(jì)信息(B-TREE AND CPB-TREE) SELECT * FROM FULLTEXT_INDEXES WHERE TABLE_NAME = 'EMP'; --查詢FULLTEXT 索引 SELECT * FROM M_FULLTEXT_QUEUES; --查看FULLTEXT 索引隊(duì)列的狀態(tài)
關(guān)于HANA常用語(yǔ)法有哪些問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。