ORA-00933: SQL 命令未正确结束
SELECT MAX(NVL(rawvalue,0)),mettime,valuetype FROM cmetvalue3 WHERE metid = 1001000007 AND meastype = 1  AND mettime >2003-6-6 08:00:00 AND mettime <= 2003-7-4 00:00:00 GROUP BY mettime,valuetype

解决方案 »

  1.   

    如果你用的是ORACLE数据库,你的时间的写法有问题mettime >2003-6-6 08:00:00 
    改为mettime >to_date('2003-06-06 08:00:00','yyyy-mm-dd h24:mi:ss') 
      

  2.   

    sorry 刚才每看原贴,看来mettime是字符串型的变量那么
    mettime >2003-6-6 08:00:00 
    改为(加引号)
    mettime >'2003-6-6 08:00:00'再试验一下吧
      

  3.   

    不是的,mettime就是Datetime类型的,我在PB里面就可以直接让DateTime类型的字段和一个日期比较的.当然我改成mettime >to_date('2003-06-06 08:00:00','yyyy-mm-dd h24:mi:ss') 也是可以的.
      

  4.   

    SELECT MAX(NVL(rawvalue,0)),mettime,valuetype FROM cmetvalue3 WHERE metid = 1001000007 AND meastype = 1  AND mettime >2003-6-6 08:00:00 AND mettime <= 2003-7-4 00:00:00 GROUP BY mettime,valuetype你这个SQL语句创建数据存储,传给SQL解释器,语法分析肯定会出错的。
    我使用过SQL语句动态生成过数据存储,只要SQL语句正确基本没有问题.
    有一个PB的BUG,就是把每一行SQL语句的前面或者之后加些TABLE,空格之类的分割符号,这个在PB60/65常常遇到,在创建数据窗口的时候就有这个问题,在数据存储中同样有。