如何按结果字符数过滤 SqlAlchemy 列,
这是我正在研究的一种实现,
查询 = query.filter(Take_Last_7_Characters(column_1) == '0321334')
其中“Take_Last_7_Characters”从 column_1 的结果值中获取最后 7 个字符
那么如何实现 Take_Last_7_Characters(column_1) ?
如何按结果字符数过滤 SqlAlchemy 列,
这是我正在研究的一种实现,
查询 = 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 函数。
请func
按照@tuxuday 的指示使用 生成SQL 函数。
请注意,代码依赖于 RDBMS。下面的代码运行 for 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')