按生成的字符数筛选 SqlAlchemy 列值



如何按生成的字符数过滤SqlAlchemy列,

这是我正在查看的一种实现,

query

= query.filter(Take_Last_7_Characters(column_1) == '0321334')

其中"Take_Last_7_Characters"从结果值 column_1 中获取最后 7 个字符

那么我该如何实现Take_Last_7_Characters(column_1)?

使用 sqlalchemy.sql.expression.func 来生成 SQL 函数。

查看更多信息

请按照@tuxuday的指示使用func生成 SQL 函数。
请注意,代码依赖于 RDBMS。下面的代码运行在 SQLite 中,它提供了SUBSTRLENGTH函数。您的实际数据库可能具有不同的名称(LEN, SUSBSTRING, LEFT, RIGHT等)。

qry = session.query(Test)
qry = qry.filter(func.SUBST(Test.column_1, func.LENGTH(Test.column_1) - 6, 7) == '0321334')

最新更新