SELECT TRAIN_CODE FROM WEB_BZNR WHERE (MOD(TO_NUMBER(TRAIN_CODE), 2) = 1)
应改为:
SELECT TRAIN_CODE FROM WEB_BZNR WHERE MOD(TO_NUMBER((TRAIN_CODE), 2) = 1)
括号括
错了

解决方案 »

  1.   

    你错了,MOD还是不能使用在WHERE子句中
      

  2.   

    我再oracle9i上测试一切正常,再仔细检查一下环境,如果还不行,可以考虑变通的方法,不如说这样写
    select train_code from (SELECT TRAIN_CODE, MOD(TO_NUMBER(TRAIN_CODE), 2) AS EXPR1 FROM WEB_BZNR) where expr1 = 1
      

  3.   

    只是一個普通的運算函數而已,當然可以用在where里面了。
    檢察本地2000SERVER服务器TRAIN_CODE字段的內容,看是否有不能轉化為number的值。
      

  4.   

    一定是那台NT机子的ORACLE有问题!!!
    我试了一个IBM RS6000、ORACLE816;一个ES40、ORACLE815;一个笔记本2000SERVER、ORACLE816都没问题!