日期:2014-05-16  浏览次数:20654 次

SQL信息匹配检索问题
问题:
用户输入语句为ABCD后面带语句的不同组合。例如:
A张三B0C0D0
A李四B女C安慰D你好
A0B1C1D90
A爸爸B大C0D11

规则表:rules
  ruleID               ruleContent
     1                          B0C0
     2                          C0D11
     3                          B大C0
     4                          A张三B0C0D0
     5                          AaBcC35D90


Create table rules
(   
      ruleID int default 0,
     ruleContent varchar(50)
)

insert into rules(ruleID,ruleConent) 
select 1,'B0C0' union
select     2,'C0D11' union
select       3,'B大C0' union
select       4,'A张三B0C0D0' union
select       5,'AaBcC35D90'


要求:用户输入“A张三B0C0D0”   只要规则中存在与字符串中部分相同的规则,则显示出规则ID 和 规则内容。
  比如该输入需显示:
   1    B0C0
   4    A张三B0C0D0

用户输入参数变量,假定为 UserInput

------解决方案--------------------
引用:
Quote: 引用:

参考全文搜索http://technet.microsoft.com/zh-cn/library/ms142571.aspx

这个不是全文索引可以解决



如果是无意义的字母与数字的组合,lz 只能迭代判断了。也就是按照截位,依次判断。