Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 使用SQLLoader将数据字段的$char替换为零_Date_Oracle11g_Sql Loader_Ctl - Fatal编程技术网

Date 使用SQLLoader将数据字段的$char替换为零

Date 使用SQLLoader将数据字段的$char替换为零,date,oracle11g,sql-loader,ctl,Date,Oracle11g,Sql Loader,Ctl,文本文件包含如下数据 041522$$$$$$$$$NAPTTALIE REVERE @1621500025 OLD ST FUNNRHILL MA1530 273 000000$$$$$$$03@$$$@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$Z$$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$@$$$$$0$$$$$$$$$$$000000$$

文本文件包含如下数据

041522$$$$$$$$$NAPTTALIE REVERE @1621500025 OLD ST FUNNRHILL MA1530 273 000000$$$$$$$03@$$$@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$Z$$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$@$$$$$0$$$$$$$$$$$000000$$$$$$$$$$$$@$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$000000$$$$$$$$$$$$$A@@@Y$$$$$$$$$$$$$1@@$$$$$$$$$$$$$$$$$$$@@02$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$@@Y@@@@@@@$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 041522$$$$$$Naptalie REVERE@1621500025 MA1530 273 OLD ST FUNNRHILL美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元美元$$$$$000000$$$$$$$$$$$$$A@@@Y$$$$$$$$$$$1@$$$$$$$$$$$$$$$$$@@@02$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$@$$$$$$@@@@@@@$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 控制文件:

LOAD DATA CHARACTERSET "UTF8" INFILE 'C:\bendex\MA_File38\fileout.txt' BADFILE 'C:\bendex\MA_File38\baddata.bad' DISCARDFILE 'C:\bendex\MA_File38\discdata.dsc' APPEND INTO TABLE "TMP_DATA_1220" TRAILING NULLCOLS ( SOURCE CONSTANT "TEST", FILE_DTE "TRUNC(SYSDATE)", AU_REGION POSITION (1:2), AU_OFFICE POSITION (3:5), AU_PGM_CATEGORY POSITION (6) , GRANTEE_SSN POSITION (7:15), GRANTEE_NAME POSITION (16:38), CAT_ELIG_IND POSITION (39), PHONE POSITION (40:47), ADDRESS POSITION (48:70), CITY POSITION (71:83), STATE POSITION (84:85), ZIP POSITION (86:90), CAN_NUM POSITION (91:95), NET_INC POSITION (96:101) "TO_NUMBER(:NET_INC)", START_DTE POSITION (102:107) "CASE WHEN :START_DTE ='$$$$$$' THEN TO_CHAR(REPLACE(:START_DTE, '$', '0')) ELSE DATE 'rrmmdd'", LAST_UPDT_UID_NAM CONSTANT "LOADF38", LAST_UPDT_TS "SYSTIMESTAMP" ) 加载数据 字符集“UTF8” 填充'C:\bendex\MA_File38\fileout.txt' 坏文件'C:\bendex\MA_File38\baddata.bad' 丢弃文件“C:\bendex\MA_File38\discdata.dsc” 追加 进入表“TMP_数据_1220” 尾随零线 ( 源常量“测试”, 文件“TRUNC(SYSDATE)”, AU_区域位置(1:2), AU_办公室位置(3:5), AU_PGM_类别位置(6), 受让人位置(7:15), 受让人的姓名和职务(16:38), CAT_ELIG_工业位置(39), 电话位置(40:47), 地址位置(48:70), 城市位置(71:83), 陈述立场(84:85), 拉链位置(86:90), CAN_NUM位置(91:95), 净公司位置(96:101)“至净公司编号(:净公司)”, 开始位置(102:107)“在以下情况下:开始位置='$$$$$'然后到字符(替换(:开始位置,'$,'0'))否则日期为'rrmmdd', 最后一个常量“LOADF38”, 最后的“系统时间戳” ) **错误:** 记录1:已拒绝-表“TMP_数据_1220”列START_DTE上的错误。 ORA-01841:(完整)年份必须介于-4713和+9999之间,而不是0 我必须从文本文件中读取数据并加载到表中。我试图将“$”替换为“0”,并将其转换为日期字段,位置102到107,但出现错误。我尝试使用替换,但解码不起作用

非常感谢您的帮助。多谢各位


注意:文本文件有完整的数据,但使用SQL Loader只读取前几个数据点。

我相信如果开始日期无效,您会希望将其设置为NULL,不是吗

"CASE WHEN :START_DTE ='$$$$$$' THEN NULL ELSE to_date(:START_DTE, 'rrmmdd') END"

嗨,Gary_W,我尝试使用NULL,但没有成功。仍然有同样的错误。嗨,加里,是的,这是正确的。如果文件中的数据无效,我试图将其设置为null。如果无效,则将其保留为null,如果有效,则保留为_DATE。请参阅更新的答案。我尝试过,现在我发现缺少关键字错误。起始数据位置(102:107)“当:起始数据='$$$$$'然后NULL ELSE TO_DATE(:起始数据,'rrmmdd')”时的情况,记录1:Rejected-表“TMP_DATA_1220”的起始数据列出现错误。ORA-00905:缺少关键字不要忘记案例陈述的结尾
"CASE WHEN :START_DTE ='$$$$$$' THEN NULL ELSE to_date(:START_DTE, 'rrmmdd') END"