特别是我想调用Postgres levenshtein函数。
我想编写blaze查询以返回与单词“like”相似的单词,即:

select word from wordtable where levenshtein(word, 'similar') < 3;

在Blaze中,该外观应类似于
db.wordtable.word[levenshtein(db.wordtable.word, 'similar') < 3]

但是我在python端导入的任何模块中均未定义levenshtein
在哪里/如何获得python方面的Blaze表达式中使用的levenshtein定义?

我发现sqlalchemy.sql.func包为SQLAlchemy使用的SQL函数提供了Python句柄,但是这些在Blaze表达式中不起作用。是否有等效的Blaze软件包,或者如何在Blaze表达式内使用sqlalchemy.sql.func.levenshtein

最佳答案

Blaze只是一个前端。并进行重组,然后将查询提供给SQL后端,该后端从您的数据库中收集数据。

From the doku:



Blaze旨在忘记后端,并为所有后端使用相似/相同的语法。因此,它仅支持常见操作。我认为,不可能指定sqlalchemy或postgresql函数供大肆使用,因此,我认为目前尚不可能。

... blaze的版本为0.10,在过去的一年中,它是一个积极贡献的beta版本。我有信心,这将在一段时间内实现。您始终可以在release notes中跟踪更改。

添加:
要进一步了解SQL中的UDF(用户定义函数)并大刀阔斧地使用它们,请比较link provided by beldaz(非常类似于此问题)。

关于python - 从Blaze调用SQL函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40671211/

10-09 05:35