TGViewer
SQLite на практике SQLite на практике @sqliter · 2.25K subscribers
Post #123 3.22K
fuzzy: Нечеткое сравнение строк в SQLite

Расширение nalgeon/fuzzy помогает сравнивать строки на похожесть и транслитерировать текст.

Одни функции считают расстояние между строками (чем оно больше, тем сильнее отличаются строки):

-- Расстояние Дамерау-Левенштейна
select fuzzy_damlev('awesome', 'aewsme');
-- 2

-- Расстояние Хэмминга
select fuzzy_hamming('awesome', 'aewsome');
-- 2

-- Расстояние Джаро-Винклера
select fuzzy_jarowin('awesome', 'aewsme');
-- 0.907142857142857


Другие функции рассчитывают фонетический код строки (помогает определять слова, которые похоже звучат):

-- Caverphone
select fuzzy_caver('awesome');
-- AWSM111111
select fuzzy_caver('owesome');
-- AWSM111111

-- Refined soundex
select fuzzy_rsoundex('awesome');
-- A03080
select fuzzy_rsoundex('awssome');
-- A03080


Транслитерация преобразует строку в ASCII-строку (только латинские символы), чтобы с ней могли работать функции расстояния и фонетики:

select fuzzy_translit('sí señor');
-- si senor

select fuzzy_translit('привет');
-- privet


Как установить расширение
  • ❤ 15
  • 👍 10
  • 🔥 4
More from @sqliter
  1. May 14, 2025fileio: Работа с файлами в SQLite Расширение nalgeon/fileio добавляет в SQLite возможность…
  2. May 10, 2025define: Пользовательские функции в SQLite Как известно, в SQLite нет хранимых процедур. Пр…
  3. May 7, 2025crypto: Хеши, кодирование и декодирование в SQLite Открываю новую серию заметок. В каждом…
  4. Aug 8, 2024Работа с датой и временем в SQLite В sqlite есть встроенные функции для работы с датами, н…
  5. May 8, 2024Современный SQLite: Вычисляемые столбцы Вычисляемые (generated) столбцы рассчитываются на…
  6. May 4, 2024Современный SQLite: STRICT-таблицы Я начинаю марафон! Но не марафон желаний 😅 Буду вкратц…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →