在delphi中,用TADOQuery+access写下面的查询:   SELECT 订单号 from 订单表 where substring(订单号,3,6)='200905' 
报错,'未指定的错误',用排查法后,发现可能是SUBSTRING不能用在WHERE后面吧.   请高手帮忙看看呀,有什么解决方法吗?

解决方案 »

  1.   

    订单号200905,是从开头开始截取的吗 如果是用left也可以
      

  2.   

    与substring同等的函数应该是mid;
      

  3.   

    SELECT 订单号 from 订单表 where 订单号 like '___200905%' or like '___200905'
      

  4.   

    不知道你订单号的形式怎么样?200905后可能有,可能无字符,这样:
    SELECT 订单号 from 订单表 where 订单号 like '__200905%' or like '__200905'像xx200905
    SELECT 订单号 from 订单表 where 订单号 like '__200905'
      

  5.   

    我先试试,谢谢各位,特别是MKD.
      

  6.   

    估计是Access语法的问题,在Oracle可以这么用
      

  7.   


    SELECT 订单号 from 订单表 where 订单号 like '200905' 试试这个。
      

  8.   

    订单号应该为文本格式才行,用like 不用 =
      

  9.   

    MKD的方法我去试了,正确。再次感谢。现结贴。