如何按生成的字符数过滤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
中,它提供了SUBSTR
和LENGTH
函数。您的实际数据库可能具有不同的名称(LEN, SUSBSTRING, LEFT, RIGHT
等)。
qry = session.query(Test)
qry = qry.filter(func.SUBST(Test.column_1, func.LENGTH(Test.column_1) - 6, 7) == '0321334')