如图,当有数据时,将number改为varchar2不可行,但把date改为timestamp可行
首先,定义varchar2类型的字段时,是要加上长度的,不加会报错。
然后,楼上说的字符转数字可以强转也是错的,至少在oracle里是不支持的
在有数据的情况下,修改字段类型为其他类型都是不行的,只有同种类型可以把短的改成长的或者更精确的 ,比如timestamp其实是更精确的date
在有l数据时不同类型之间一般不能更改,要改的话可以先建一个新字段,把老字段的数据插到新字段中,再删掉老字段,再把新字段重名为以前的字段
只有数据符合当前类型的时候,才可以转换。
举个例子,主要当前数据某列定义的是varchar字符串类型,但是数据这列存入的是数字编号,如‘1001’、'1002'、‘1003’等,这时候要强转的话,是可以的。