我在一个用户和另一个包含空记录的表中有一些记录。我想将该表的数据从一个 用户 迁移到 另一个 ,但我收到一个错误 ORA:01722 因为目标表的数据类型略有不匹配。如果不更改数据类型,我该怎么办才能解决此问题。 源表的数据类型是 -
目标表的说明 -
在不同用户的两个表中,只有一列是不匹配的数据类型 LOTFRONTAGE 。源表数据类型为 varchar2 ,目标表数据类型为数字。 如何使数据类型不匹配的列无效
我使用此SQL查询插入数据 -
insert into md.house(ID,MSSUBCLASS,MSZONING,
CAST(LOTFRONTAGE AS VARCHAR2(15)),LOTAREA,LOTSHAPE,LOTCONFIG,
NEIGHBORHOOD,CONDITION1,BLDGTYPE,OVERALLQUAL,
YEARBUILT,ROOFSTYLE,EXTERIOR1ST,MASVNRAREA)
select ID,MSSUBCLASS,MSZONING,LOTFRONTAGE,
LOTAREA,LOTSHAPE,LOTCONFIG,NEIGHBORHOOD,CONDITION1,
BLDGTYPE,OVERALLQUAL,YEARBUILT,ROOFSTYLE,
EXTERIOR1ST,MASVNRAREA from SYS.HOUSE_DATA;
然后我收到了错误
ORA-00917: comma missing
答案 0 :(得分:1)
你可以试试这个:
INSERT INTO 2ndTable (ID,...,LOTFRONTAGE,....MASVNAREA)
SELECT ID,...,to_number(LOTFRONTAGE),....MASVNAREA
FROM 1stTable;