按结果字符数过滤SqlAlchemy列值

时间:2012-11-28 10:18:17

标签: python 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)??

2 个答案:

答案 0 :(得分:1)

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

check for more info

答案 1 :(得分:0)

请使用func按照@tuxuday的指示生成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')