KETTLE数据集成:sqlserver 中bit(布尔型)如何集成到ORACLE数据库

KETTLE数据集成:sqlserver 中bit(布尔型)如何集成到ORACLE数据库_第1张图片

今天在数据抽取时,遇见不同数据库数据数据类型转化的问题。纠结了很久,终于解决啦,这里分享给大家:

在SQL Server中,bit数据类型是布尔型,只存储三种值,0、1和null。

要将SQL server中为Bit数据类型抽取到oracle数据库,我们首先想到的是在ORACLE中设置一个相同的数据类型,比如:number、或者varchar2。
备注:oracle数据库中并没有布尔型的数据类型。

但是结果是——无论我们设置为number,还是varchar2,在使用kettle数抽取过程中依旧会报错。(这里的报错信息就没给大家截频了……因为是工作的时候遇见的)

正确的做法是,在建表时将oracle中的数据类型设置为number格式,在表输入时增加一步CASE WHEN
select 
id,
name,
age,
case when sex = 0 then 0 when sex = 1 then   1 else null end sex
from student

这时候就可以把数据抽取过去了

你可能感兴趣的:(KETTLE数据集成:sqlserver 中bit(布尔型)如何集成到ORACLE数据库)