Создать / использовать пользовательские функции в System.Data.SQLite?

StackOverflow https://stackoverflow.com/questions/172735

  •  05-07-2019
  •  | 
  •  

Вопрос

  

Определяемые пользователем функции & amp; Последовательности сортировки   Полная поддержка пользовательских функций и последовательностей сортировки означает, что во многих случаях, если SQLite не имеет функции, вы можете написать ее самостоятельно на своем любимом языке .NET. Написание последовательностей UDF и сортировки никогда не было проще

Я заметил этот бит на C # Поставщик SQLite ADO.NET я обнаружил здесь, и у него возникли проблемы с пониманием документации по реализации / использованию пользовательских функций.

Может ли кто-нибудь объяснить, как или предоставить какие-либо рабочие примеры для этого потерянного новичка?

Это было полезно?

Решение

У Роберта Симпсона есть отличный пример функции REGEX, которую вы можете использовать в своих sqlite-запросах:

// taken from http://sqlite.phxsoftware.com/forums/p/348/1457.aspx#1457
[SQLiteFunction(Name = "REGEXP", Arguments = 2, FuncType = FunctionType.Scalar)]
class MyRegEx : SQLiteFunction
{
   public override object Invoke(object[] args)
   {
      return System.Text.RegularExpressions.Regex.IsMatch(Convert.ToString(args[1]),Convert.ToString(args[0]));
   }
}

// example SQL:  SELECT * FROM Foo WHERE Foo.Name REGEXP '$bar'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top