oracle迁移到gbase, 对于空串的处理
1.在Oracle中 ,空串和null 都显示null,在gbase中 空串和null是两个东西,所以需要在数据导出的时候 进行转换。
Oracle:
CREATE TABLE "KKK" (
"cpf_sales_rep_uuid" numeric(35,0) NOT NULL,
"rpt_level" numeric(1,0) DEFAULT NULL,
"upd_usr" varchar2(8) DEFAULT NULL,
"iris2_sales_cde" varchar2(3) DEFAULT NULL
) ;
INSERT INTO KKK VALUES (10000000000000000000000000000000001, '', '', '');
INSERT INTO KKK VALUES (10000000000000000000000000000000002, NULL, 'ADMIN', '');
INSERT INTO KKK VALUES (10000000000000000000000000000000003, NULL, '', '');
INSERT INTO KKK VALUES (10000000000000000000000000000000004, '', NULL, '');
INSERT INTO KKK VALUES (10000000000000000000000000000000005, 1, '', NULL);
INSERT INTO KKK VALUES (10000000000000000000000000000000006, NULL, '', '2');

gbase:
CREATE TABLE "kkk" (
"cpf_sales_rep_uuid" decimal(35,0) NOT NULL,
"rpt_level" decimal(1,0) DEFAULT NULL,
"upd_usr" varchar(8) DEFAULT NULL,
"iris2_sales_cde" varchar(3) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' ;

oracle 数据导出:


gbase加载:

查询:


对比 Oracle :



对比gbase:



上述对比是一致的。
--- 导出 --null_value 'NULL' 处理
./orato8a --user='root/"root"@172.16.3.113:1521/ORCL' --query="select * from ROOT.kkk" --file='/opt/sss/output/kkk.txt' --null_value 'NULL' --field="," --format=3
-- 加载:--null_value 'NULL' 处理
load data infile 'sftp://root:gbasepoc123@172.16.3.113//opt/scq/output/kkk.txt' into table test.kkk data_format 3 null_value 'NULL' fields terminated by ','date format '%Y-%m-%d %H:%i:%s' date format '%Y-%m-%d' ;
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526