典型数据库查询问题:
假如我现在有一个为查询条件的字符串(具体的字符串是变化的,以下是打个比方):
可能是"成都人民南路"或"人民"
也可能是"人民南路"
也可能是"南路"或"四川省成都市人民南路"
我在数据库中有一个是"成都市人民南路"
如上面的条件都成立,怎么把这条记录查询出来呢?谢谢兄弟们呀!:)
假如我现在有一个为查询条件的字符串(具体的字符串是变化的,以下是打个比方):
可能是"成都人民南路"或"人民"
也可能是"人民南路"
也可能是"南路"或"四川省成都市人民南路"
我在数据库中有一个是"成都市人民南路"
如上面的条件都成立,怎么把这条记录查询出来呢?谢谢兄弟们呀!:)
where n1 like %[参数]%
SQL.Add(Format(' and farendaibiao like ''%s'' ',['%'+edit_1.text+'%']));
begin
filtered:=false;
filter:='字段>='+''''+trim(条件)+''''+chr(0)+' and 字段<='+''''+trim(条件)+''''+chr(255);
filtered:=true;
end;
首先得有个词库吧,你才知道怎么分,有了词库后要考虑的就是效率了,如果数量量大的话.词库可以找一个输入法,用输入法生成器把它导出来,然后删除单字和编码,就有不少常用的了,特殊的就不好办了,然后分词,再构造SQL语句(用现成的数据库的话,考虑不来效率了),相信楼主自己可以解决了
gardenyang(太阳雨) :谢谢你,但我这全都是自动的匹配,没有让用户操作的空间,而且我的数据量是海量数据,即使让用户做也是不可能的哈请问各位有没有什么好的办法?