当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sqlite3.Connection.create_function用法及代码示例


用法:

create_function(name, num_params, func, *, deterministic=False)

创建一个用户定义的函数,您以后可以在函数名称 name 下在 SQL 语句中使用该函数。 num_params 是函数接受的参数数量(如果 num_params 为 -1,则函数可以接受任意数量的参数),而 func 是作为 SQL 函数调用的 Python 可调用对象。如果 deterministic 为真,则创建的函数被标记为 deterministic ,这允许 SQLite 执行额外的优化。 SQLite 3.8.3 或更高版本支持此标志,如果与旧版本一起使用,将引发NotSupportedError

该函数可以返回 SQLite 支持的任何类型:bytes、str、int float 和 None

在 3.8 版中更改: deterministic添加了参数。

例子:

import sqlite3
import hashlib

def md5sum(t):
    return hashlib.md5(t).hexdigest()

con = sqlite3.connect(":memory:")
con.create_function("md5", 1, md5sum)
cur = con.cursor()
cur.execute("select md5(?)", (b"foo",))
print(cur.fetchone()[0])

con.close()

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sqlite3.Connection.create_function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。