如何在SQLite中创建自定义函数

And*_*ock 49 sqlite

您可以像在MSSQL中一样在SQLite中创建函数吗?

如果是这样,怎么样?语法是什么?

谢谢

Rol*_*man 56

SQLite没有存储的函数/存储过程语言.所以CREATE FUNCTION不起作用.你可以做的是从ac库到SQL函数(用户定义的函数)的映射函数.为此,请使用SQLite的C API(请参阅:http://www.sqlite.org/c3ref/create_function.html)

如果您没有使用C API,您的包装器API可能会定义允许您访问此功能的内容,例如,请参阅:

  • @Andrew:既然你提到了MSSQL,你可能有兴趣知道使用.NET的System.Data.SQLite提供程序很容易在任何CLR语言中实现SQLite UDF.http://sqlite.phxsoftware.com/ (5认同)
  • 在Python + SQLAlchemy的情况下,您可以使用类似`engine.connect().connection.create_function()`来访问sqlite的本地`create_function()`方法.Linke:http://docs.sqlalchemy.org/en/latest/core/connections.html#working-with-raw-dbapi-connections (5认同)
  • 如果您按照本答案中的提到映射用户定义的函数,它是保留在sqlite数据库中还是每次加载数据库时都必须映射它? (2认同)
  • 好问题。我认为您可能必须重新映射。 (2认同)
  • 此评论帮助我尝试弄清楚如何实际编写UDF:http://stackoverflow.com/questions/7867099/how-to-create-a-user-defined-function-in-sqlite (2认同)
  • 那么戈兰呢? (2认同)

don*_*nea 5

这可能对许多人有用:例如,在SQLiteStudio 中,可以通过 sql 内置插件从界面轻松定义新函数和排序规则。

https://github.com/pawelsalawa/sqlitestudio/wiki/Official_plugins#sql-built-in

通过功能编辑器。