有一个表,里面的有一个字段 是varchar型,现在需要把它转换成数值型的number
varchar 长度是 10 里面的具体值 也都是数字 
现在 需要转换成 number型的 
希望高手 速赐教
感激不尽
谢谢表名 plate
字段 plate_no 
(只有这一个字段)谢谢 

解决方案 »

  1.   


    select to_number(plate_no) from plate;
      

  2.   

    oracle里不用显式转换也可以,如果串里都是数字,直接引用就会隐式进行转换的
      

  3.   

    先把表的内容换到一个临时表,改字段,再导回来。sql>create table t_tmp as select * from plate;
    sql>truncate table plate;
    sql>alter table plate modfiy plate_no number;
    sql>insert into plate as select * from t_tmp;
      

  4.   

    谢谢 所有的兄弟 3楼的哥们 
    最有一句 无法执行 
    改成
    insert into plate values(plate_no as select * from t_tmp2);
    后 提示 缺少逗号 
    我实在 pl/sql 下调试的
      

  5.   

    我是 要用在其他地方的,ORACLE 只是我的一个工具
    我还要转到 其他程序里用的
    谢谢 二楼的兄弟
      

  6.   


    --先建立一个同样的表
    create table plate1 (plate_no number);
    -- 然后把原表的数据转换一下放入plate1 表中
    insert into plate1(select to_number(plate_no ) from plate);
    --删除原表数据
    delete from plate; 
    --修改原表字段类型
    alter table plate modify  plate_no number;
    --再把数据插回来
    insert into plate(select * from plate1);
    --删除plate1 
    DORP TABLE PLATE1