Crear / Usar funciones definidas por el usuario en System.Data.SQLite?
-
05-07-2019 - |
Pregunta
Funciones definidas por el usuario & amp; Cotejar secuencias La compatibilidad total para las funciones definidas por el usuario y las secuencias de clasificación significa que, en muchos casos, si SQLite no tiene una característica, puede escribirla usted mismo en su lenguaje .NET favorito. Escribir UDF y compaginar secuencias nunca ha sido tan fácil
Vi este bit en C # SQLite ADO.NET proveedor que encontré aquí, y tenía problemas para comprender la documentación sobre cómo implementar / usar funciones definidas por el usuario.
¿Alguien podría explicar cómo, o proporcionar ejemplos de trabajo para este novato perdido?
Solución
Robert Simpson tiene un gran ejemplo de una función REGEX que puedes usar en tus consultas de 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'