我正在尝试将需要进入列的select查询的值插入到另一个表中,以及其他几个列,如下所示。 列的数据类型。
col1-number,col2-number,col3-varchar,col4-date,col5-char(1),col6-char(1)
insert into table1 (col1, col2, col3, col4, col5, col6, col7)
select ( uid, 22, 'HTML', sysdate,'null','null','N')
from ( select query here)
但是当我运行上面的查询时,我收到一个错误 - ORA-01858:发现一个非数字字符,其中数字在上述查询的第2行附近。任何人都可以指出我有什么问题,或者有更好的方法来做到这一点。谢谢!
答案 0 :(得分:3)
'null'
是一个字符串。据推测,col5
或col6
是一个数字列,我们无法将该字符串转换为数字。
要在这些列中不插入任何值,请使用null
关键字,如下所示:
insert into table1 (col1, col2, col3, col4, col5, col6, col7)
select ( uid, 22, 'HTML', sysdate, null, null,'N')
from ( select query here)
或者从插入投影中删除它们:
insert into table1 (col1, col2, col3, col4, col7)
select ( uid, 22, 'HTML', sysdate, 'N')
from ( select query here)