最近有个需求,要将Oracle中一些表迁移到Greenplum中,其中涉及到数据类型的转换,在网上没找到映射表,特查阅资料找到此映射表,并分享出来,来源于《Greenplum从大数据战略到实现》一书。
Oracle与Greenplum不同数据类型的转换方式,如下:
Oracle | Greenplum | 说明 |
---|---|---|
VARCHAR2(n) | VARCHAR(n) | 在Oracle中n代表字节数,在Greenplum中n代表字符数 |
CHAR(n) | CHAR(n) | 在Oracle中n代表字节数,在Greenplum中n代表字符数 |
NUMBER(n,m) | NUMERIC(n,m) | number可以转换成numeric,但真实业务中数值类型可以用smalllint、int或bigint等代替,性能会有较大提升 |
NUMBER(4) | SMALLLINT | |
NUMBER(9) | INT | |
NUMBER(18) | BIGINT | |
NUMBER(n) | NUMERIC(n) | 如果n>19,则可以转换成numeric类型 |
DATE | TIMESTAMP(0) | Oracle和Greenplum都有日期类型,但Oracle的日期类型会同时保存日期和时间,而Greenplum只保存日期 |
TIMESTAMP WITH LOCAL TIME ZONE | TIMESTAMPTZ | 注意:Greenplum中的TIMESTAMPTZ不等同于Oracle中的TIMESTAMP WITH TIME ZONE |
CLOB | TEXT | Greenplum中TEXT类型不能超过1GB |
BLOBRAW(n) | BYTEA(1 GB limit) Large object | 在Oracle中BLOB用于存放非结构化的二进制数据类型,最大可存储128TB;而Greenplum中BYTEA类型最大可以存储1GB,如果有更大的存储要求,可以使用Large Object类型 |
因greenplum集成了postgreSQL,两者有很多相似之处。若在网上找不到greenplum的资料,建议可以查postgreSQL的相关信息,作为参照。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有