我目前是这样做:sql="select * from brand where '"& rsr("Tag_name") &"' like '%'+left(brandName,5)+'%'"
这样的话是取brandName的前5个字母到Tag_name里去匹配。
但我的需求是:让brandName里任意连续5个字符去Tag_name里去匹配(brandName里有英文和中文)比如brandName的内容是:SunWuKong孙悟空Tag_name的内容是:齐天大圣孙悟空大闹天宫这样我的方法就查不到啦~求各位给出正确方法~拜托啦~不惜分~各种给~

解决方案 »

  1.   

    like '%'+left(brandName,5)+'%'"如果你是想前5个,那么前面的%不应该有。
      

  2.   

    为何是字段brandName中的前五个去匹配,用意是什么?直接匹配整个字段不就好了
      

  3.   


    我那个sql是可以实现前5个字符匹配的~不是要给我那句sql找错误!!!
    我还特意用红字写了~我是要变成brandName里任意5个连续的字符去Tag_name里匹配!!!
      

  4.   

    我有个笨办法,循环判断brandName处理过的长度,然后拼接WHERE条件用OR连接,用substring
      

  5.   

    貌似需要个自定义函数,参数:brandName
    结果得到brandName中5个连续字符的结果集。
      

  6.   

    最好是创建一个函数,去substring字符,每次截取3个去做like比较
      

  7.   

    做回圈分別取5個,再去LIKE 試試看喔