【问题标题】:How to check %match between 2 string in prestosql?如何检查 prestosql 中 2 个字符串之间的百分比匹配?
【发布时间】:2022-01-07 06:38:42
【问题描述】:

我要找的是我有 2 个字 例如 “家庭”和“家谱”

那么我很想知道这两个文本相互匹配的程度。

让我们说 “家庭”和“家庭” >> 100 %

不确定是否有任何解决方法。

非常感谢。

【问题讨论】:

  • jquery 并没有真正与其他标签一起使用 - 你选择了错误的标签吗?
  • 您实际使用的是哪些 dbms?删除不相关的 dbms 标签。
  • 看起来你可能想要 SOUNDEX/DIFFERENCE,也许是 Levenshtein distance

标签: mysql sql sql-server presto soundex


【解决方案1】:

你可以使用like。

select * from tablename where fildname like '%Family%'

Result Give you all row in keyword is Family present.

【讨论】:

  • OP 正在尝试确定匹配的接近程度,例如“Famali” = 70%(左右)
  • 如果你在类似的条件下使用 First % 那么它给出的结果就像开始那个位置一样。当同时使用 %% 时,它会给出相关匹配字符串的结果,它会给出 100% 的结果。
  • Op 正在询问 如何检查百分比匹配 - 而不是如何通过子字符串查找
【解决方案2】:

对于 presto,您可以尝试查看 levenshtein_distance(string1, string2) → bigint 内置函数:

返回string1string2 的Levenshtein 编辑距离,即将string1 更改为string2 所需的最小单字符编辑(插入、删除或替换)数。

或者(虽然看起来不太合适)hamming_distance(string1, string2) → bigint:

返回string1string2的汉明距离,即对应字符不同的位置个数。请注意,这两个字符串的长度必须相同。

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 1970-01-01
    • 2023-01-12
    • 2017-05-24
    • 2019-08-23
    • 2019-07-21
    • 2013-12-28
    • 2021-02-05
    • 1970-01-01
    相关资源
    最近更新 更多