我是想得到这样的数据,首先我要得到当月的月份,并且数据要是number型
其次要得到当前的系统时间,年月日,要date型ORA-00904: "month": 标识符无效,看看类型对吗
大家帮忙看一下,下面这两句是不是,NUMBER型和DATE型的,to_number(to_char(sysdate,'MM')) month,to_date(to_char(sysdate,'YYYY-MM-DD'))  EventDate,我在建视图调用包函数是用到这两个字段,可老是提示“ORA-00904: "month": 标识符无效”“EventDate”也报这样的错。

解决方案 »

  1.   

    to_date(to_char(sysdate,'YYYY-MM-DD'),'yyyy-mm-dd')
    to_date需要格式的
    month换个名字试下
      

  2.   

    to_date(to_char(sysdate,'YYYY-MM-DD'))  EventDate, 
    有错误to_date是有参数的,你在这里没给参数呀
      

  3.   

    还有问题?
    把month换了吗?因为没看出来to_number哪有问题,所以让你随便试下
      

  4.   

    to_number(to_char(sysdate,'MM')) smonth,
    to_date(to_char(sysdate,'YYYY-MM-DD'),'YYYY-MM-DD')  EventDate因为month好像是个关键字(不知道是否该称为关键字)
    (to_char(sysdate,'month') smonth看看
      

  5.   

    那就说明你“month”没定义过,编译器不识别。
    像我sql语句分页时,从pastart到paend,没加上这段:
    StringBuffer sql=new StringBuffer();
    sql.append("select * from (select row_. *,rownum rownum_ from(");

    sql.append("select * from t_mc where 1=1");
    自己的select语句......
    sql.append(" ) row_");
    if(paend != -1){
    sql.append(" where rownum<=").append(paend);
    }

    sql.append(")");

    if(pastart != -1){
    sql.append(" where rownum_>").append(pastart);
    }
    就报-->java.sql.SQLException: ORA-00904: "PAEND": 标识符无效
      

  6.   

    唉,还是由我来告诉你吧,刚才我也遇到这个问题,不过,我一下子就想到了,我刚才把数据库中的字段重命名了,所以oracle就不认识了,你把这个字段删了,重新在添加一列,就ok了,嘻嘻。
      

  7.   

    month 改成  'month'