对比两个表格中的汉字列

比如有两个表格,假设说一个为电子表格,一个是手工书写的表格。需要看手写表格中的名字是否在电子表格中存在。当他们都是按已有顺序排序时就比较好办。核对起来最快,而如果顺序都是打乱的。最快的方法不是B表格中按先后顺序查找某个名字。经过考虑,把B表中的名字用自定义SQL函数(可百度找找)生成首字母和名字前两个字的字母。然后将字母排序。这样查找时最快。

比如:

a表

1.张三

2.李四

3.王五

b表

1.谢六

2.王五

3.李四

4.张三

select 'L1' = dbo._fn_xx(name),'L2' = dbo._fn_xx(name),name

from t1 order by L1,L2

-------

L LS 李四

W WW 王五

X XL  谢六

Z  ZS  张三

-------

排序后之所以比较快,原理就是索引原理。也就是比如找张三。就会很快定位到Z,而不是从头查找。虽然要经过几次定位,但是因为姓名首字母比较分散。所以查找速度还是很快的。

我最开始没有用这种方法,采用从手写的50个名字去找电子表格中的50个名字核对电话号码。结果崩溃。。虽然理论上想起来很容易核对。没有效率。而采用上面的方法效率很好。

猜你喜欢

转载自blog.csdn.net/chengg0769/article/details/79478971