请问如何判断sql server中表t1中的列field1(主键,索引)中是否存在值a, 用什么函数比较好?

解决方案 »

  1.   

    Select count(*) from tl where field1 = 'a'判断结果是否为0,0则没有,非0则存在,效率高
      

  2.   

    但是使用Delphi能收到这条语句的返回值吗?
      

  3.   

    可以,使用query组件。
    Query1.Fields[0].Value就可以取到你要的值:
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select count(*) from tl where field1 = :field1');
    Query1.ParamByName('field1').AsString := 'a';
    Query1.Open;if Query1.Fields[0].Value<>0 then
    begin
      //代码
    end
    else begin
      //代码
    end;如果你使用的是ADOQuery1,那么参数赋值的语句可能要稍微改变一下。
      

  4.   

    query1.sql:=select count(*) from t1 where field1 like '%a%'
      

  5.   

    楼上(RockEx): query忘记加单引号了。