oracle - ora-01858 在需要数字的地方发现了一个非数字字符 informatica
问题描述
我在 informatica 10.2.0 中创建了一个非常简单的映射。每当我尝试执行工作流时,会话任务都会失败。
错误如下,
Severity Timestamp Node Thread Message Code Message
ERROR 16-12-2019 05:24:50 PM node01_prdeim READER_1_2_1 RR_4035 SQL Error [
ORA-01858: a non-numeric character was found where a numeric was expected
Database driver error...
Function Name : Execute
SQL Stmt : select MARKET_ID,MARKET_NAME,MONTH_YY,'Y' ACTUAL_FLAG from TABLEAU_NEW_MARKET_COVERAGE
where
TO_DATE(MONTH_YY)=TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE,-1), 'MON'),'DD-MON-YYYY')
and OFMCG_SALES>667
Database driver error...
Function Name : Execute
SQL Stmt : select MARKET_ID,MARKET_NAME,MONTH_YY,'Y' ACTUAL_FLAG from TABLEAU_NEW_MARKET_COVERAGE
where
TO_DATE(MONTH_YY)=TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE,-1), 'MON'),'DD-MON-YYYY')
and OFMCG_SALES>667].
源表结构,
Name Null? Type
---------------------- ----- -------------
BRANCH_CODE VARCHAR2(10)
MARKET_NAME VARCHAR2(255)
MARKET_ID NUMBER(12)
MARKET_POP_GROUP VARCHAR2(50)
MONTH_YY DATE
OFMCG_SALES NUMBER
TYPE VARCHAR2(255)
SERVICE_MODE VARCHAR2(255)
SERVICE_FLAG VARCHAR2(255)
QUALITY_MKT_TARGET NUMBER
QUALITY_MKT_UOB NUMBER
QUALITY_MARKET VARCHAR2(26)
CONCERN_MARKET VARCHAR2(26)
QUALITY_MKT_ACTUAL_UOB NUMBER
PLAN_FLG VARCHAR2(500)
目标表结构,
Name Null? Type
------------ -------- -------------
MARKET_ID NOT NULL VARCHAR2(20)
MARKET_NAME NOT NULL VARCHAR2(200)
WDCODE NOT NULL VARCHAR2(20)
POP_GROUP VARCHAR2(50)
DISTRICT VARCHAR2(100)
SUB_DISTRICT VARCHAR2(100)
PLAN_FLAG VARCHAR2(20)
ACTUAL_FLAG VARCHAR2(20)
TRANSDATE NOT NULL DATE
LASTUPDATE NOT NULL NUMBER
在我的源限定符中,sql 覆盖是,
select MARKET_ID,MARKET_NAME,MONTH_YY,'Y' ACTUAL_FLAG from TABLEAU_NEW_MARKET_COVERAGE
where
MONTH_YY=TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE,-1), 'MON'),'DD-MON-YYYY')
and OFMCG_SALES>667
这是一个非常简单的映射,
SRC-EXP-JNR-UPD-TGT
试图找到错误的详细信息。数据类型在 informatica 和 oracle 中都很好。
有人可以指导我导致问题的原因吗?
解决方案
您MONTH_YY
是日期列,但您仍在尝试将其转换为日期。
使用以下查询:
SELECT
MARKET_ID,
MARKET_NAME,
MONTH_YY,
'Y' ACTUAL_FLAG
FROM
TABLEAU_NEW_MARKET_COVERAGE
WHERE
TRUNC(MONTH_YY) = TRUNC(ADD_MONTHS(SYSDATE, - 1), 'MON')
-- used trunc for MONTH_YY
-- removed to_char from right side expression
AND OFMCG_SALES > 667
干杯!!
推荐阅读
- android - 使用视频全屏模式(横向)时,颤振咀嚼处理不起作用
- r - weekdays() 函数中的 NA
- r - 有没有办法使用 ggplot2 在箱线图上输入 beta 分布?
- assembly - 如何从特定地址开始执行汇编代码?
- r - 使用 grid.arrange 组合来自不同数据集(不同大小)的 ggplot 时出错
- flutter - 这在颤振中意味着什么?
- python - 如何使用第二列的数据获取数据框的一列的统计信息?
- javascript - 如何在不显示 2 个视频的情况下创建 2 个视频标签?
- ios - 在 SwiftUI、Xcode 11.2 中展开 TextField 上的可点击区域
- android - 无法支持工具栏