【发布时间】:2022-01-23 19:16:15
【问题描述】:
更新 SQLite 版本 3.5.0 后。可以使用 SQL 数学函数。 如果我在 pycharm 查询中使用它,它工作得很好,但我无法在 python 代码中执行查询。
然后我收到以下错误消息:
pandas.io.sql.DatabaseError: sql 'Select log(increase.s1) From increase'执行失败:没有这样的功能:log。
我使用以下代码执行它:
import pandas as pd
conn = sqlite3.connect('p1_database.db')
sql = "Select log(increase.s1) from increase"
pd.read_sql_query(sql, con=conn)
我的错误是什么?没看到。
【问题讨论】:
-
来自sqlite.org/lang_mathfunc.html:“下面显示的数学函数是 SQLite 合并源文件的一部分,但只有在使用 -DSQLITE_ENABLE_MATH_FUNCTIONS 编译时选项编译合并时才有效。”
-
在哪里/如何设置选项?
-
数学函数是编译时间,所以需要内置二进制文件或者可以从源代码编译。
-
我可以确认 Windows 上 Python 3.7 的
sqlite3模块不支持log。