空值在映射后给出错误的值
Empty value is giving wrong Value after being mapped
我有三个 Table,它们都有一个名为 RECORD_TYPE
的列,它在源文件中显示为空记录。
Table 1:
|RECORD_TYPE|
----------
|('null') |
Table 2:
|RECORD_TYPE|
----------
|"" |
Table 3 :
|RECORD_TYPE|
----------
|"" |
映射的列在三个表中具有相同的 datatype
,即 VARCHAR2(255)
Table 1 显示正确结果 --> ('null')
但其他两个给出空引号。
Table 1 的 DDL:
CREATE TABLE "ODSSTAGE"."INXN_LA_RENEWAL_STG"
( col1,
col2,
.
.
"RECORD_TYPE" VARCHAR2(255 BYTE)
)
Table2 的 DDL:
CREATE TABLE "ODSSTAGE"."INXN_LA_TERMINATION_STG"
( col1,
col2,
.
.
.
"RECORD_TYPE" VARCHAR2(255 BYTE)
)
Table3 的 DDL:
CREATE TABLE "ODSSTAGE"."INXN_LA_NEW_STG"
( col1,
col2,
..
..
..
"RECORD_TYPE" VARCHAR2(255 BYTE)
)
Source are same for all three
请记住:""
是记录显示为空的东西,但是当我将记录复制粘贴到记事本或其他地方时,我得到“”
What do you get if you use SELECT DUMP(record_type) FROM ODSSTAGE.INXN_LA_RENEWAL_STG
or SELECT DUMP(record_type) FROM ODSSTAGE.INXN_LA_NEW_STG
?
只是简单的 NULL
第二次我得到 Typ=1 Len=1: 13
您在 ODSSTAGE.INXN_LA_NEW_STG
中没有 NULL
(空)值 table 您只有一个回车 return (ASCII 13) 字符。
您可以使用以下方法找到这些行:
SELECT *
FROM ODSSTAGE.INXN_LA_NEW_STG
WHERE record_type = CHR(13);
或使用以下方法将它们更新为 NULL
值:
UPDATE ODSSTAGE.INXN_LA_NEW_STG
SET record_type = NULL
WHERE record_type = CHR(13);
我有三个 Table,它们都有一个名为 RECORD_TYPE
的列,它在源文件中显示为空记录。
Table 1:
|RECORD_TYPE|
----------
|('null') |
Table 2:
|RECORD_TYPE|
----------
|"" |
Table 3 :
|RECORD_TYPE|
----------
|"" |
映射的列在三个表中具有相同的 datatype
,即 VARCHAR2(255)
Table 1 显示正确结果 --> ('null')
但其他两个给出空引号。
Table 1 的 DDL:
CREATE TABLE "ODSSTAGE"."INXN_LA_RENEWAL_STG"
( col1,
col2,
.
.
"RECORD_TYPE" VARCHAR2(255 BYTE)
)
Table2 的 DDL:
CREATE TABLE "ODSSTAGE"."INXN_LA_TERMINATION_STG"
( col1,
col2,
.
.
.
"RECORD_TYPE" VARCHAR2(255 BYTE)
)
Table3 的 DDL:
CREATE TABLE "ODSSTAGE"."INXN_LA_NEW_STG"
( col1,
col2,
..
..
..
"RECORD_TYPE" VARCHAR2(255 BYTE)
)
Source are same for all three
请记住:""
是记录显示为空的东西,但是当我将记录复制粘贴到记事本或其他地方时,我得到“”
What do you get if you use
SELECT DUMP(record_type) FROM ODSSTAGE.INXN_LA_RENEWAL_STG
orSELECT DUMP(record_type) FROM ODSSTAGE.INXN_LA_NEW_STG
?只是简单的
NULL
第二次我得到Typ=1 Len=1: 13
您在 ODSSTAGE.INXN_LA_NEW_STG
中没有 NULL
(空)值 table 您只有一个回车 return (ASCII 13) 字符。
您可以使用以下方法找到这些行:
SELECT *
FROM ODSSTAGE.INXN_LA_NEW_STG
WHERE record_type = CHR(13);
或使用以下方法将它们更新为 NULL
值:
UPDATE ODSSTAGE.INXN_LA_NEW_STG
SET record_type = NULL
WHERE record_type = CHR(13);