Python SQLite数学函数(无此类函数:平方英尺)

wvt8vs2t  于 2023-03-13  发布在  SQLite
关注(0)|答案(1)|浏览(142)

在Python 3.11中,我尝试使用数学函数(sqrt)和SQLite SQL查询。

import sqlite3 as sq
import pandas as pd
con = sq.connect('database.db')
query = "SELECT SQRT(value) FROM table;"
pd.read_sql_query(query, con, index_col=None)

它抛出“无此类函数:SQRT”在我的本地python环境中。但是当我使用Jupyter实验室(相同的sqlite3版本-3. 39. 3)或DB浏览器时,它可以与完全相同的数据库一起工作。所以我有证据证明它可以做到。
我已经看到默认情况下sqlite是在没有“math”标志的情况下构建的,如下所示:SQLite3 math functions Python然而sqlite是作为Python标准库的一部分提供的,所以我可能需要重新构建Python安装。
如何配置python来使用内置数学函数支持的sqlite?

daupos2t

daupos2t1#

我通过定义自己的函数来解决这个问题:

import math

conn = sqlite3.connect('my_db.db')
conn.create_function('sqrt', 1, math.sqrt)

相关问题