TGViewer
SQLite на практике SQLite на практике @sqliter · 2.25K subscribers
Post #80 4.43K
Пользовательские функции в SQLite

Вообще-то их нет. Да, можно написать функцию на С или Python, и зарегистрировать в SQLite. Но не прямо в SQL.

Но все меняется, если подключить расширение define! С ним можно писать функции на чистом SQL.

С define несложно определить собственную функцию:

select define('sumn', ':n * (:n + 1) / 2');


А затем использовать, как будто встроенную:

> select sumn(5);
15


Пользовательские функции могут принимать несколько параметров и вызывать другие функции.

Сгенерировать случайное N, такое что a ≤ N ≤ b:

> select define('randint', ':a + abs(random()) % (:b - :a + 1)');

> select randint(10, 99);
42


Можно даже задать функцию, которая возвращает несколько значений!

Подробности в документации
  • 👍 26
  • 🔥 7
  • ❤ 1
More from @sqliter
  1. May 20, 2025fuzzy: Нечеткое сравнение строк в SQLite Расширение nalgeon/fuzzy помогает сравнивать стро…
  2. May 14, 2025fileio: Работа с файлами в SQLite Расширение nalgeon/fileio добавляет в SQLite возможность…
  3. May 10, 2025define: Пользовательские функции в SQLite Как известно, в SQLite нет хранимых процедур. Пр…
  4. May 7, 2025crypto: Хеши, кодирование и декодирование в SQLite Открываю новую серию заметок. В каждом…
  5. Aug 8, 2024Работа с датой и временем в SQLite В sqlite есть встроенные функции для работы с датами, н…
  6. May 8, 2024Современный SQLite: Вычисляемые столбцы Вычисляемые (generated) столбцы рассчитываются на…
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 →