关于网友提出的“ delphi sql like 语句,字符不匹配”问题疑问,本网通过在网上对“ delphi sql like 语句,字符不匹配”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: delphi sql like 语句,字符不匹配描述:
一个简单的截取字符,然后查询的功能
function TDMDiquweihu.QueryFJiaoyan(e: string):Boolean;
var
i,n:integer;
begin
if Length(trim(e))<7 then
i:=Length(trim(e))
else
i:=6;
n:=strtoint(LeftStr(e,i));
with QueryC do
begin
close;
sql.Clear;
sql.Add('select * from JCdiqu');
sql.Add('where 现在编码 like :e);
Parameters.ParamByName('e').Value:='%'+n+'%';
open;
end;
end;
数据库中,现在编码是int类型,运行就告诉我有错误,直接like LeftStr(e,i)类型有不对,试了几种写法,就是不行,最后把数据库的类型改成varchar,然后直接like LeftStr(e,i)就可以了,想问问,为什么这么写错误。
解决方案1:
like 是用字符串匹配的,你数据字段是整型当然会出错。如果字段类型是整型,可以用=,<=,>=等,或者用 in (...),或者用 Between