有表A,其中有字段B DATE型的,B字段有以下数据:
28-4月 -09                
27-10月-09                
29-10月-09                
现在想把转换成(即:YYYYMMDD格式):
20090428
20091027
20091029
请问这样的update语句怎么写?谢谢各位帮忙!

解决方案 »

  1.   

    SQL> create table t(t date);Table created.
    SQL> insert into t values(to_date('2009-11-04','YYYY-MM-DD'));1 row created.
    SQL> insert into t values(to_date('11-04-2009','MM-DD-YYYY'));1 row created.
    SQL> select * from t;T
    ---------------
    04-NOV-09
    04-NOV-09
    SQL> select to_char(t,'YYYYMMDD') from t;TO_CHAR(
    --------
    20091104
    20091104
    在数据库中存储的都是DATE类型(可以看到前面两个INSERT使用的格式是不一样的)
    你要的只是显示出来的格式而已
    在TO_CHAR()函数中指定你想要的格式就可以了(比如说最后那个SELECT)
      

  2.   

    是啊,存储的是DATE类型的,Oracle默认怎么显示有什么关系~你读的时候to_char就ok了嘛~~不然你就存成varchar 型的~
      

  3.   


    不用update。在查询的时候做转换即可。select to_char(b,'yyyymmdd') from A;
      

  4.   

    这个和你的oracle所在服务器的地区和默认显示格式有关系