零、释放资源

SELECT schema_name,table_name,memory_size_in_total FROM m_cs_tables ORDER BY memory_size_in_total DESC
unload schema_name.table_name

一、时间格式转换

(1)切换日期格式yyyymmdd的字段数据为yyyy-mm-dd

select
TO_VARCHAR(
        TO_DATE(t1.time1, 'YYYYMMDD'), 
        'YYYY-MM-DD'
    ) AS time1,
TO_VARCHAR(
        TO_DATE(t1.time2, 'YYYYMMDD'), 
        'YYYY-MM-DD'
    ) AS time2
from table

二、批量更新字段

(1)字段id大于等于12的全部加一

update target_table set id=id+1 where rule='10086' and B_field='B' and id >=12

三、插入查询语句到表中

(1)插入ETC查询结果

INSERT INTO database.target_table_name
with temp1 as(select t1.fields1 as field1
from database.source_table_name t1
where t1.fields1<>''),
with temp2 as(select t1.fields1 as field1
from database.temp1 t1
where t1.fields1='0')
select * from temp2

四、列处理

(1)截取前35个字符
注意:hana中第一位从1开始,所以是1到35,这里就算写0,35,也是从1开始算,取到35

substring(字段名,0,35)

(2)去除最右边的空格

RTRIM(column_name)

五、复制并修改部分列,然后将数据加到原表中

--新建临时表
CREATE TABLE temptable_aff AS
(SELECT * FROM dabase.sourcetable  WHERE field1 ='原值1' AND field2 ='原值2' AND field1  ='原值3')
--更新部分列
UPDATE temptable_affSET field1 ='新值1' 
UPDATE temptable_affSET field2 ='新值2'
--查看临时表
SELECT * FROM mapping_aff 
--插入到原表
INSERT INTO dabase.sourcetable  SELECT * FROM temptable_aff

六、建表语句

create table TEST.Font_list(
    FIELD1 VARCHAR(50),
    FIELD2 VARCHAR(50),
    FIELD3 VARCHAR(50),
    FIELD4 VARCHAR(50)
)

七、修改字段长度

ALTER TABLE 表名 ALTER (列名 新数据类型(新长度));
ALTER TABLE TEST.Font_listALTER  ("FIELD1 " NVARCHAR(255) NULL);

更多推荐