49

用户定义函数和排序序列 完全支持用户定义函数和排序序列意味着在许多情况下,如果 SQLite 没有特性,您可以自己用自己喜欢的 .NET 语言编写它。编写 UDF 和整理序列从未如此简单

我在此处找到的 C# SQLite ADO.NET提供程序上发现了这一点,并且在理解有关如何实现/使用用户定义函数的文档时遇到了问题。

任何人都可以解释如何为这个迷路的新手提供任何工作示例吗?

4

1 回答 1

65

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'
于 2008-10-05T23:33:44.073 回答