如何从SQL中搜索字符串近似值

时间:2015-07-28 09:16:31

标签: c# sql asp.net

我试图找到一种最佳方式,以便找到与输入数据类似的结果。看看照片。

2 个答案:

答案 0 :(得分:0)

一种方法是使用SOUNDEX

document

另一种选择是使用DIFFERENCE

$(document).ready(function(){
      var i=1;
     $(document).on("click", "#add_row", function(){
        var datepic = "#date" + i;
        $('#addr'+i).html("<td>"+ (i+1) +"</td><td><input id = 'date"+
          i+"'  name='name" + i + 
          "' type='text' placeholder='Name' class='form-control input-md'/>" 
          + "</td><td><input  name='mail" + 
          i + "' type='text' placeholder='Mail'  class='form-control input-md'>"
          +"</td><td><select class='input category'><option selected>d</option></select>"
          +"</td>");

        $(datepic).datepicker();

         $('#tab_logic').append('<tr id="addr'+(i+1)+'"></tr>');
            i++; 
     });

     $(document).on("click","#delete_row", function(){
         if(i>1){
         $("#addr"+(i-1)).html('');
         i--;
         }
     });

    $(document).on("click", ".category", function(){
        alert('df');
     });
});

答案 1 :(得分:0)

您正在寻找的T-SQL命令很可能是SOUNDEX or DIFFERENCE - 很可能是DIFFERENCE

它用于确定两个字符串的相似程度 - 在0(非常不同)到4(非常相似)的范围内。

例如

select DIFFERENCE('Jamie','Janie') // 4

select DIFFERENCE('Jamie','Albert') // 0

所以你会使用像

这样的东西
SELECT some_columns
FROM MyTable
WHERE DIFFERENCE(some_text_column,@input) >= 2 // change to fit your needs

代替2的较高数字只能找到更接近的匹配,4只是非常接近的匹配。