Есть ли в SQL Server эквивалент SequenceMatcher питона для объединения в столбцы, которые похожи? - PullRequest
0 голосов
/ 14 декабря 2018

В Python есть хорошая встроенная функция, которая позволяет мне проверять разницу между последовательностью двух строк.Пример ниже:

from difflib import SequenceMatcher

def similar(a, b):
    return SequenceMatcher(None, a, b).ratio()

Пример:

similar("Apple","Appel")
0.8
similar("Apple","Mango")
0.0

Есть ли в SQL эквивалентная функция?

Что мне нужно сделать, это объединить две таблицы в столбце.В таблице A в этом столбце указан фактический номер учетной записи, в другой таблице - пользователь, добавляющий свой номер учетной записи, который не является обязательным полем, и из-за этого я заметил, что существуют незначительные различия в действительном номере учетной записи.,

Таблица A

account_num   Name
5WWW55        John
DDDDD7        Jacob
SSSSX7        jingleheimer

Таблица B

account_num   Name
5WWW55        John
3SSSX7        jingleheimer     -- First character is different 


Select Table_A.account_num, 
       Table_b.Name 
FROM Table_A
JOIN TABLE_B 
          on Table_A.account_num = Table_B.account_num

Ожидаемый результат:

account_num   Name
5WWW55        John
SSSSX7        jingleheimer

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Расстояние Левенштейна может быть тем, что вы ищете.Я использовал его раньше, чтобы сравнить сходство между строками в SQL-сервере.

0 голосов
/ 14 декабря 2018

Вы можете использовать DIFFERENCE:

SELECT Table_A.account_num, 
       Table_b.Name 
FROM Table_A
JOIN TABLE_B 
  ON DIFFERENCE(Table_A.account_num , Table_B.account_num) = 4;

db <> скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...