Oracle - 如何添加列并设置数据类型

时间:2013-05-10 19:52:26

标签: oracle types

我没有太多运气。我正在创建一个新表并添加具有默认值的列 - 该表将列数据类型默认为CHAR 7,但最后一列需要为CHAR 30.

到目前为止,我只能在创建后修改表格,但必须有一种方法可以一步完成。

CREATE TABLE table1 parallel 8 NOLOGGING AS
SELECT
  t2.1,
  t2.2,
  t2.3,
  'N' AS Store,
  'N' AS Address,
  'N' AS Owner,
  'N' AS User,
  'N' AS Business,
  'Unknown' AS Source
FROM t2

最后一列(Source)值超过7个字符,但所有其他值都是Y / N.我的第一个想法是做'未知'AS Source(char 30),但我继续得到ORA-00923

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

如果它需要是CHAR(30),你应该确保它是。用空格填充它不一定是正确的方法;最好告诉数据库你想要它使用CAST()函数,它在数据类型之间进行转换:

cast('Unknown' as char(30)) as source
相关问题