SAP_HANA常用sql合集——持续更新中
·
零、释放资源
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);
更多推荐


所有评论(0)