我的意思是不用指定格式的话,to_date是默认采取什么样的格式呢,??我用select to_date(fentdt) from t_1,时,无论 fentdt字段的内容的格式是什么都出错(如2003/04/25,2003/04/24 05:30:20等等都不行),如果我to_date指定格式,自然能通过

解决方案 »

  1.   

    你去看看NLS_DATE_FORMAT参数的设置。
      

  2.   

    select * from NLS_DATABASE_PARAMETERS;
      

  3.   

    会话级可以这样:
    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
      

  4.   

    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
    这句话可以在sqlplus里直接写么
      

  5.   

    windows用户,在regedit中
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\
    下增加
    串NLS_DATE_FORMAT="YYYYMMDDHH24MISS'
      

  6.   

    增加它就可以直接用select to_date(val) from table 取数据可以了么,val的格式是否要象:20030425125036?
      

  7.   

    你首先要知道你现在数据库上是什么日期格式,
    SELECT SYSDATE FROM DUAL;
    然后你就知道在select to_date(fentdt)中fentdt该写成什么样的格式了。
    或者你就在你的PB程序连接数据库后加上:
    alter session set nls_date_format='yyyy-mm-dd';
    那你的fentdt格式就是yyyy-mm-dd