Create/Use User-defined functions in System.Data.SQLite?
-
05-07-2019 - |
Question
User-Defined Functions & Collating Sequences Full support for user-defined functions and collating sequences means that in many cases if SQLite doesn't have a feature, you can write it yourself in your favorite .NET language. Writing UDF's and collating sequences has never been easier
I spotted this bit on the C# SQLite ADO.NET provider l found here, and was having problems understanding the documentation on how to implement/use user-defined functions.
Could anyone explain how to, or provide any working examples for this lost newbie?
Solution
Robert Simpson has a great example of a REGEX function you can use in your sqlite queries:
// 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'
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow