我是用DELPHI 的DATABASE DESKTOP建的表格我想 
select left(id,2) as xx from ...
但是报错是Invalid of Keyword Left(id,2)
如果用LEFTSTR
则报错 Capability not supported.在ACCESS里用就可以啊。
我郁闷中
希望大虾指点。谢谢。

解决方案 »

  1.   

    select substring(id,1,2) as xx from ...
      

  2.   

    不行啊。
    invalid use of keyword
    Token',1,2)'
    line number 1
      

  3.   

    字段两边是否有空格,把它去了试试。TRIM()。
    祝你好运!!
      

  4.   

    select left(cast(id as varchar(100)),2) as xx from ...
      

  5.   

    to 99175776(99175776)
    没有空格。
    而且加了TRIM() 也不行。to wzh1215(懒猫)
    还是不行啊。
    Invalid of Keyword Left(....)我是用DELPHI 自带的DATABASE DESKTOP 建的表。可是如果是在ACCESS里是可以用LEFT的啊。
    为什么DELPHI就不行呢?当真 Microsoft 和 Boland 不是一家的啊。
      

  6.   

    Token',1,2)'
    楼主,Token后面你多打了个',那个'是应该有的吗?
      

  7.   

    invalid use of keyword
    Token ,1,2)
    line number 1没有单引号。我打错了,不好意思。
      

  8.   

    DATABASE DESKTOP,没用过,不大清楚有没有这样的函数。
    不过如果要实现这样的功能多写点代码吧。把数据集循环一遍,逐个截取。
      

  9.   

    那个id是不是关键字??把id改个名试试。
      

  10.   

    id 只是我随便取的名字,表中的字段叫spid,(商品ID)
      

  11.   

    我详细的说一下。我是用的BDE数据库。可以说跟DELPHI是无缝连接的我用DATABASE DESKTOP 建的表格 SP
    其中有SPID这样一个字段,A(字符型)  6(长度6)我在程序中写SQL语句,或者在SQL EXPLORE 中写SQL语句:
    我想要
    Select Left(Spid,2) as xx, 其他字段 from sp group by xx
    用LEFTSTR,LEFTBSTR,SUBSTR,SUBSTRING都不行
    这本来是很简单的事情啊。我用ACCESS做数据库德时候经常使用,为什么到BDE中就不行了呢?
    再不行就要对BDE失去信心了。 
    如果,你们哪位大虾试过行的话,一定要告诉我,那就可能是我的软件问题了。
    谢谢啦。
      

  12.   

    还是用SUBSTRING 吧,相当于DELPHI中的COPY函数。
      

  13.   

    不要用BDE吧,呵呵,我刚才也试过了。只能说InterBase和MSSQL的语法不一样。
      

  14.   

    有...放在TQuery中执行...前提是不要用InterBase DB:)
      

  15.   

    那当我往Tedit控件中输入信息进去的时候我怎么判断我输入的是数字还是字符啊?
      

  16.   

    退格键用什么代替呀?标点符号?还有tab键呢?
      

  17.   

    在DESKTOP下建的表,在DELPHI中用BDE链接后,QUERY中的SQL语句得符合LOCAL SQL 语言规范,而LOCAL SQL跟STANDARD SQL(象MS SQL中使用的)是有区别的,它的查询功能弱了很多,函数集也小了很多,象LEFTSTR就不支持,而LEFT(id,2)可能是那个id参数名是LOCAL SQL中是内部关键字吧。在DELPHI的帮助文件中有LOCAL SQL语言规范,使用时查看一下
      

  18.   

    谢谢
    wzghh(随风幻想) 还是结吧。