如何在oracle

时间:2015-11-18 04:48:14

标签: sql oracle oracle11g

我想从现有的2个表中选择列创建新表,新列包含99999999,其数据类型必须是虚拟值的数字。

我试过下面的代码

 CREATE TABLE NewTbl1 as 
 SELECT a.col1, a.col2, a.col3, b.col4, b.col5, '99999999' as dummycol
 FROM tbl1 a JOINtbl2 b 
  ON a.col1 = b.colNum AND a.col2 = b.colnum1;

这个查询运行正常,但是' dummycol'数据类型将是char类型。我想要它作为数字。如果我仅使用99999999删除单引号,则会创建表格但是当我要打开它时,请给我一个错误,即转换自" DBNULL"到"整数"无效。 我在下面的代码中尝试将列转换为

Cast(99999999 AS NUMBER) AS dummycol

但仍面临同样的错误:

  

转换自" DBNULL"到"整数"无效。

打开桌子时。

0 个答案:

没有答案