问题描述
我将给出更好的理解的具体案例。 我有一些代码称为OUID,来自OCR。
从25个字符中,有几个被误认。 是否可以通过sql数据库中的UUID列“通过相似性编制索引”?
假设每个UUID只有一个字符是错误的,并且我执行25个查询,那么SELECT ... LIKE语句是否已经具有良好的行为?
[嘈杂的uuid不会被插入,只是被选择。]
解决方法
对不起,我不知道是否有内置函数可以执行此操作,但是您要尝试的是一种称为Levenshtein距离的算法。看看:
,您应该修复进入数据库的数据-或至少具有原始代码和估算代码。
如果您需要保留原始代码,那么我的建议是查找包含原始代码和估算代码的表。该表将用于要按实际代码过滤的查询。
举一个具体的例子,如果我有一列带有美国州缩写的列,并且其中一个代码是RA,那么我不想“自动”找出是否是这样的:
- 后退(阿肯色州)
- RI(罗德岛州)
- CA(加利福尼亚)
- MA(马萨诸塞州)
- 宾夕法尼亚州(宾夕法尼亚州)
- 弗吉尼亚州(弗吉尼亚州)
- 华盛顿(华盛顿)
似乎需要手动操作。