首页 > 解决方案 > postgres(SQL)可以计算两个字符串的相似程度吗?

问题描述

我有两个标签表,需要由多个不准确的标签列连接(不同的大小写、分隔符处理、顺序等)

还有很多不同的字段可能为空,并且表必须仅在非空值上进行比较。

表格1

     tags1      |          tags2         | tags3 
----------------+------------------------+-----------
 jhon, paul     | null                   | corn, jhon, bloke
 null           | horse, joke, bloke     | Aristoteli, JANEH fonda 

表 2

     ids        |          names         | clasifiers2 
----------------+------------------------+-----------
 Paul, Jhon     | null                   | corn, Jhon
 null           | Aristoteli, JANEH fonda| horse, joke, bloke

是的,这是一团糟。SQL 中是否有一个函数可以返回两个字符串的接近程度的索引,并允许仅在不为空的值上连接两个记录?

标签: sqlpostgresql

解决方案


我为 SQL Server 编写了一个函数来执行此操作。你可以为PG重写它。函数名称是 F_INFERENCE_BASIQUE,您会在下面找到代码: https ://sqlpro.developpez.com/cours/sql/comparaisons-motifs/#LVI 我假设您可以阅读一些法语。


推荐阅读