К строкам может быть применена операция сравнения, которая называется "приблизительно равно" и обозначается "≈". Она возвращает натуральное значение, равное отклонению двух строк в баллах, или "null", если две строки не равны.
Между словами бывают следующие отличия (differences): лишняя буква, пропущенная буква, другая буква (т.е. одна буква заменена на другую). Отличия "заглавная буква" - "строчная буква", "аббревиатура" - "слово из строчных букв" рассматриваются как отличие "пропущенная буква" (как наличие-отсутствие одной из двух управляющих отметок, создающих заглавную букву и аббревиатуру). Каждое отличие оценивается в 4 балла (т.к. неуместность [см. ниже] принимает значения в диапазоне от нуля до трех). Из всех вариантов выбирается такой набор отличий, при котором сумма баллов минимальна - эта минимальная сумма называется несовместимостью (incongruity). При обнаружении более двух отличий "другая буква" слова не являются (приблизительно) равными.
Между фразами бывают следующие отличия (differences): лишнее слово, пропущенное слово, перестановка двух слов, другое слово (т.е. одно слово заменено на другое), свертка (нескольких подряд идущих слов в аббревиатуру из начальных букв каждого слова). Каждое отличие оценивается в 16 баллов (для свертки - по 16 баллов на каждую букву аббревиатуры). Делается попытка разобрать отличие "другое слово" как набор отличий между парой слов с целью уменьшить количество баллов (если два слова не равны, то засчитывается отличие "другое слово"). Пробел между словами может быть исключен или заменен на дефис - и то, и другое оценивается в 1 балл. Из всех вариантов выбирается такой набор отличий, при котором сумма баллов минимальна - эта минимальная сумма называется отклонением (deviation). При обнаружении более двух отличий "пропущенное слово" фразы не являются (приблизительно) равными.
Разногласие (variance) двух строк, если хотя бы одна из них содержит более одного слова, вычисляется также, как отклонение двух фраз - но перестановка через любой знак пунктуации (в т.ч. "точку" в конце предложения) оценивается в 64 балла, а знак "точка" в конце строк (каждая возможно из нескольких предложений) не принимается во внимание. Если одна из сравниваемых строк есть "null", то разногласие равно 16 баллов.
Записи, вошедшие в результат запроса, отсортированы и выдаются в порядке возрастания разногласия (т.е. сначала идут записи с наименьшим разногласием).
P.S.
Величину разногласия можно присвоить поля таблицы.