下列语句中,s3为一个字符,要查询日期的五个字符和s3字符相同。但 日期的数据类型是日期型的,
请问该怎么写呀?(日期中的月)
  s3:=datetostr(date);
  s3:=copy(s3,5,3);
  s3:=copy(s3,2,1);
query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and 日期 like'_s3''); //得出当地区的编号  
错误提示:
[Error] Unit1.pas(141): ')' expected but identifier '_s3' found

解决方案 »

  1.   

    你可以把你的SQL语句放在管理器中运行一下,如果不行把 '_s3' 的单引号换成双引号试试。
      

  2.   

    query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and 日期 like+''''+'_s3'+''''); 这样就行了.给我分吧.
      

  3.   

    query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and 日期 like'''+_s3+'''%');这样试试.
      

  4.   

    query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and 日期 like '''+_s3+''''); 
    这样试试
      

  5.   

    我上面的错了
    应该是这样的
    query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and 日期 like '''+_s3+'%'''); 
      

  6.   

    query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and 日期 like'+ '''_'+s3+''''); 如果你的日期是Date類型的話,你還需要將日期也轉換成字符串格式
      

  7.   

    你用的是Sql2000的话,日期型换为字符型的函数可以查看:
    Sql2000的convert函数
      

  8.   

    你先把日期转换成str然后再like
      

  9.   

    query1.SQL.Add('select 编号 from 出件登记表 where 地区=:s and convert(char,日期) like'+ '''_'+s3+'''');