有没有比较两个字符串相似度的函数? 如题在sql中两个中文字符串怎么判断相似百分比 比如:'我是中国人' 和 '我是外国人' 他们的相似百分比应该是80% 这个算法应该怎么做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1:SQLSERVER没有实现你需求的函数.2:实现你的需求比较难搞,况且你没有个需求定义. 但还是得有具体的相似度定义.比如,A字符串10个字符,B字符串12个字符,A中有五个字符能在B中找到,它们的相似度是多少?又比如:北京天安门与北北北北北他们的相似度是多少? difference()函数也许可以,结果为0表示完全不相似,结果为4表示非常相似可以试试看!!! step 1:把待比较串变成等价 char[]step 2:因为字符串的char与位置紧密相关所以,比较时需要考虑位置,这将大减少对比工作范围.-1,比较长度;-2,逐一比较相应位置上的 charstep 4:得出结论;//关键代码:完全按照楼主的意思.. int BeJiao(string s1, string s2) { int percent = default(int); int maxlen=0; if (s1.Length<s2.Length) { maxlen=s2.Length; for (int i = 0; i < s1.Length; i++) { if (s1[i]==s2[i]) { percent++; } } } else { maxlen=s1.Length; for (int i = 0; i < s2.Length; i++) { if (s1[i]==s2[i]) { percent++; } } } percent=(int)(percent*100/maxlen); return percent; } 给出具体的相似度的定义,就能解决,SQL解决不了就在前台解决,C#没有办不到的. 一个 关于统计的SQL语句 求vs.net 2003 下载地址,要求能用 这个SQL怎么写? SQL如何写三张表 合并成一张表 SQL Server的帐号密码不记得了该怎么办? 如何删除ID为1,5,19,23等等的记录 sql无法自动备份,提示执行API:CreateProcess失败,急,在线等!!!! 如何合理打包VF后作安装盘 请VFP大侠帮忙 visual C++下的oracle数据库问题???? 数据查询临时添加新列!!!!!! 2表查询,其中一表循环和一表对照判断。
2:实现你的需求比较难搞,况且你没有个需求定义.
比如,A字符串10个字符,B字符串12个字符,A中有五个字符能在B中找到,它们的相似度是多少?
又比如:
北京天安门
与
北北北北北
他们的相似度是多少?
把待比较串变成等价 char[]step 2:
因为字符串的char与位置紧密相关所以,比较时需要考虑位置,这将大减少对比工作范围.
-1,比较长度;
-2,逐一比较相应位置上的 charstep 4:
得出结论;//关键代码:完全按照楼主的意思..
int BeJiao(string s1, string s2)
{
int percent = default(int);
int maxlen=0;
if (s1.Length<s2.Length)
{
maxlen=s2.Length;
for (int i = 0; i < s1.Length; i++)
{
if (s1[i]==s2[i])
{
percent++;
}
}
}
else
{
maxlen=s1.Length;
for (int i = 0; i < s2.Length; i++)
{
if (s1[i]==s2[i])
{
percent++;
}
}
}
percent=(int)(percent*100/maxlen);
return percent;
}