【发布时间】:2019-09-11 10:35:14
【问题描述】:
我有两个表,我想将表一的记录插入表二。
下面是我的代码:
INSERT INTO TBL_IPCOLO_BILLING_MST
(
CMP, SAP_ID, ID_OD_COUNTCHANGE, ID_OD_CHANGEDDATE, RRH_COUNTCHANGE, RRH_CHANGEDDATE, TENANCY_COUNTCHANGE,
TENANCY_CHANGEDDATE, RFS_DATE,RFE1_DATE,INFRA_PROVIDER,IP_COLO_SITEID,SITE_NAME,R4GSTATE,MW_INSTALLED,
DG_NONDG,EB_NONEB,TOWER_TYPE,VENDOR_CODE, RFCDATE,POLITICAL_STATE_NAME,POLITICAL_STATE_CODE,SITE_DROP_DATE,
CITY_NAME, NEID,FACILITY_LATITUDE,FACILITY_LONGITUDE,RJ_STRUCTURE_TYPE,RJ_JC_NAME, RJ_JC_CODE )
SELECT
CMP,
SAP_ID,
ID_OD_COUNTCHANGE,
ID_OD_CHANGEDDATE,
RRH_COUNTCHANGE ,
RRH_CHANGEDDATE ,
TENANCY_COUNTCHANGE ,
TENANCY_CHANGEDDATE ,
RFS_DATE_BAND ,
RFE1_DATE_BAND ,
INFRA_PROVIDER ,
IP_COLO_SITEID ,
SITE_NAME ,
R4GSTATE ,
MW_INSTALLED ,
DG_NONDG ,
EB_NONEB ,
TOWER_TYPE ,
VENDOR_CODE ,
SITE_RFCDATE,
NULL,
NULL,
SYSDATE ,
CITY_NAME ,
NEID ,
FACILITY_LATITUDE ,
FACILITY_LONGITUDE ,
RJ_STRUCTURE_TYPE ,
RJ_JC_NAME ,
RJ_JC_CODE
FROM tbl_ipcolo_mast_info;
我收到错误:
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
这两个表的数据类型如下所述。
表 1:TBL_IPCOLO_BILLING_MST
CMP NVARCHAR2(100)
SAP_ID NVARCHAR2(100)
ID_OD_COUNTCHANGE NVARCHAR2(100)
ID_OD_CHANGEDDATE DATE
RRH_COUNTCHANGE NVARCHAR2(100)
RRH_CHANGEDDATE DATE
TENANCY_COUNTCHANGE NVARCHAR2(100)
TENANCY_CHANGEDDATE DATE
RFS_DATE DATE
RFE1_DATE DATE
INFRA_PROVIDER NVARCHAR2(100)
IP_COLO_SITEID NVARCHAR2(100)
SITE_NAME NVARCHAR2(500)
R4GSTATE NVARCHAR2(100)
MW_INSTALLED NVARCHAR2(100)
DG_NONDG NVARCHAR2(100)
EB_NONEB NVARCHAR2(100)
TOWER_TYPE NVARCHAR2(100)
VENDOR_CODE NVARCHAR2(100)
RFCDATE DATE
POLITICAL_STATE_NAME NVARCHAR2(100)
POLITICAL_STATE_CODE NVARCHAR2(100)
SITE_DROP_DATE DATE
CITY_NAME NVARCHAR2(100)
NEID NVARCHAR2(100)
FACILITY_LATITUDE NVARCHAR2(100)
FACILITY_LONGITUDE NVARCHAR2(100)
RJ_STRUCTURE_TYPE NVARCHAR2(100)
RJ_JC_NAME NVARCHAR2(100)
RJ_JC_CODE NVARCHAR2(100)
COMPANY_CODE NVARCHAR2(100)
表 2:tbl_ipcolo_mast_info
CMP NVARCHAR2(100)
SAP_ID NVARCHAR2(50)
ID_OD_COUNTCHANGE NVARCHAR2(20)
ID_OD_CHANGEDDATE NVARCHAR2(100)
RRH_COUNTCHANGE NVARCHAR2(50)
RRH_CHANGEDDATE NVARCHAR2(20)
TENANCY_COUNTCHANGE NVARCHAR2(50)
TENANCY_CHANGEDDATE NVARCHAR2(100)
CREATED_BY NVARCHAR2(55)
CREATED_DATE DATE
UMS_GRP_BY_ID NUMBER
UMS_GRP_BY_NAME NVARCHAR2(55)
UMS_GRP_TO_ID NUMBER
UMS_GRP_TO_NAME NVARCHAR2(55)
CMM_STATUS CHAR(1)
FCA_STATUS CHAR(1)
LAST_UPDATED_BY NVARCHAR2(55)
LAST_UPDATED_DATE DATE
RFS_DATE_BAND NVARCHAR2(100)
RFE1_DATE_BAND NVARCHAR2(100)
SF_SITERRHDATE NVARCHAR2(100)
SF_RRHCOUNT NVARCHAR2(100)
INFRA_PROVIDER NVARCHAR2(250)
IP_COLO_SITEID NVARCHAR2(200)
SITE_NAME NVARCHAR2(500)
R4GSTATE NVARCHAR2(100)
MW_INSTALLED NVARCHAR2(100)
DG_NONDG NVARCHAR2(50)
EB_NONEB NVARCHAR2(20)
TOWER_TYPE NVARCHAR2(100)
SITE_ADDRESS NVARCHAR2(1000)
VENDOR_CODE NVARCHAR2(100)
SITE_RFCDATE NVARCHAR2(100)
CITY_NAME NVARCHAR2(100)
NEID NVARCHAR2(55)
FACILITY_LATITUDE NVARCHAR2(100)
FACILITY_LONGITUDE NVARCHAR2(100)
RJ_STRUCTURE_TYPE NVARCHAR2(100)
RJ_JC_NAME NVARCHAR2(100)
RJ_JC_CODE NVARCHAR2(100)
COMPANY_CODE VARCHAR2(55)
请提出这里有什么问题。
【问题讨论】:
-
我们对您的表或数据一无所知。但是该错误意味着您正在尝试将源表中的字符串值隐式转换为目标表中的日期值。两个表中的数据类型不同,在这种情况下,您应该进行显式转换并提供正确的格式模型(尽管您当然不应该将日期作为字符串放在首位),或者您在源和目标表列列表,但似乎并非如此。
rfs_date_band和rfe1_date_band实际上是约会吗?那些看起来最可疑的...... -
@AlexPoole:先生,我猜数据类型是问题所在。我已经更新了两个表的数据类型信息。请看看,让我知道。是的,它们是日期列,之前它被错误地用 nvarchar 进行数据类型化。现在我将它与正确的数据类型正确对齐
-
@AlexPoole:我已经更新了我拥有数据格式的问题。主要是
dd-MM-yyyy格式。所以请建议我如何继续前进 -
尝试逐列插入数据,这样就可以查看是哪一列出了问题。
-
@hakobot:问题出在日期列中.. 但是如何正确设置它以便插入是我想要解决的问题