加载零时的数据收集问题

时间:2017-12-21 09:34:16

标签: etl datastage

使用Datastage 11.5.0.2,当尝试将数据作为“0”加载到DATE FIELD(DB2)时,作业失败..

在源DB中,列是VARCHAR而在目标中它是DATE字段..源中唯一未能加载的值是0.如何解决..任何想法pl

3 个答案:

答案 0 :(得分:1)

创建一个阶段变量:if(输入列值)= 0然后使用StringToDate(“0001-01-01”,“%dd:%mm:%yyyy”) Else StringToDate(inputcolumn,“%dd:%mm:%yyyy”)

答案 1 :(得分:0)

您可以在变压器阶段使用

with my_table(text_field) as (
    values ('src="first";src="second"')
)

select match[1] as result
from my_table
cross join lateral regexp_matches(text_field, 'src="([^"]*)', 'g') as match

 result 
--------
 first
 second
(2 rows)

您也可以在选择查询

中使用以下内容在Source限定符中转换数据
StringToTimestamp(Column,"%yyyy-%mm-%dd")

答案 2 :(得分:0)

可以使用to_date函数

to_date(column,'YYYY-MM-DD')
TO_DATE(column, 'YYYY-MM-DD HH24:MI:SS')