【问题标题】:Create/Use User-defined functions in System.Data.SQLite?在 System.Data.SQLite 中创建/使用用户定义的函数?
【发布时间】:2010-09-15 10:09:16
【问题描述】:
用户定义的函数和排序序列
完全支持用户定义的函数和排序序列意味着在很多情况下,如果 SQLite 没有特性,你可以用你最喜欢的 .NET 语言自己编写它。编写 UDF 和整理序列从未如此简单
我在我在这里找到的 C#SQLite ADO.NET 提供程序上发现了这一点,并且在理解有关如何实现/使用用户定义函数的文档时遇到了问题。
谁能解释一下如何为这个迷路的新手提供任何工作示例?
【问题讨论】:
标签:
c#
sqlite
system.data.sqlite
【解决方案1】:
Robert Simpson 有一个很好的 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'