TextBox中输入以下内容:
北京市 朝阳区 朝阳门北大街 天辰大厦 东林花屋想模糊匹配出数据库中已有的数据,比如:
北京 朝阳门北大街 东林花屋
北京市 朝阳区 天辰大厦 金枝名店
北京市 海淀区 知春路 天辰实业请帮忙推荐一下这方面的文章,我在网上没搜明白。
北京市 朝阳区 朝阳门北大街 天辰大厦 东林花屋想模糊匹配出数据库中已有的数据,比如:
北京 朝阳门北大街 东林花屋
北京市 朝阳区 天辰大厦 金枝名店
北京市 海淀区 知春路 天辰实业请帮忙推荐一下这方面的文章,我在网上没搜明白。
解决方案 »
- 绘图程序 (画图时线长怎么计算)
- MSSQL数据库中有个字段类型为Image C#中应该用什么类型?
- 关于AxMSChart20Lib.AxMSChart曲线图中x轴y轴步长问题
- 是选择vs自带的 还是 选择nunit进行单元测试了
- 虎!虎!!虎!!!虎!!!!虎!!!!!,难道只有微软能做?我们的CSDN怎么了?
- C#调用DTS实现EXCEL文件转成数据库中的表,在线等待
- 咨询:用c#开发网络间传输的问题
- C#里如果编写FLV格式的播放器?
- 编译好的程序需要哪些动态库?
- 急~~~~请为什么问在我我的.NET里用了WEB控件在IE流览器中不能显示啊,而用HTML控件却可以显示啊?
- 如何获取c#中webBrowser控件里面的html页面的子页面元素?
- 紧急求助:Vs2010创建SQL Server 2008数据库项目失败
http://blog.csdn.net/wuyazhe/archive/2010/10/05/5922167.aspx
select * from table wehere address like %(北京市|朝阳区|朝阳门北大街|天辰大厦|东林花屋)%
这样?不懂数据库。1楼贴的看来用不上了。
俺只是举一个例子,但TextBox中每次输入的内容都是不同的。
而且我举例子的内容中间的空格是为了让帮我解决问题的老大们看着方便,实际并不是每个词都如此。
所以,我的问题是:在TextBox中输入:北京市朝阳区朝阳门北大街天辰大厦东林花屋
会从数据库中查出很多条近似的信息,比如:
北京朝阳门北大街东林花屋
北京市朝阳区天辰大厦金枝名店
北京市海淀区知春路天辰实业
……如果老大认为此问题比较乱,可以推荐些文章给我。
检索表中既包含b又包含c的所有行(注:列名不带引号)
select * from TableName where contains(列名(, 列名), 'b*' and 'c*')
检索表中包含a,b,c之一的所有列
select * from TableName where freetext(列名(, 列名), 'a b c')
数据库函数
输入两个字符串A,B 返回 这两个字符串 的相近度
相近度就是把A串通过插入或删除两个操作变成B串 所需要的最短步与串长度的差using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlInt32 simil(string str1, string str2)
{
int len1 = str1.Length;
int len2 = str2.Length;
int lenLCS;
// unsigned *previous, *next;
if (len1 == 0 || len2 == 0)
return 0;
int[] previous = new int[len1 + 1];
int[] next = new int[len1 + 1];
int[] temp = new int[len1 + 1];
//next=(unsigned *)calloc( len1+1, sizeof(unsigned));
for (int j = 0; j < len2; ++j)
{
for (int k = 1; k <= len1; ++k)
if (str1[k - 1] == str2[j])
next[k] = previous[k - 1] + 1;
else next[k] = previous[k] >= next[k - 1] ? previous[k] : next[k - 1];
temp = next;
next = previous;
previous = temp;
//swap( &previous, &next);
}
lenLCS = previous[len1];
return new SqlInt32(lenLCS);
}
};