Python 按结果字符数筛选SqlAlchemy列值

Python 按结果字符数筛选SqlAlchemy列值,python,sqlalchemy,Python,Sqlalchemy,如何按结果字符数筛选SqlAlchemy列 这是我正在研究的一种实现 query=query.filter(取最后7个字符(列1)='0321334') 其中“Take_Last_7_Characters”从列_1的结果值中获取最后7个字符 那么如何实现Take_Last_7_Characters(column_1)?使用sqlalchemy.sql.expression.func,生成sql函数 请按照@tuxuday的指示,使用func生成SQL函数。 请注意,该代码依赖于RDBMS。下面的

如何按结果字符数筛选SqlAlchemy列

这是我正在研究的一种实现

query=query.filter(取最后7个字符(列1)='0321334')

其中“Take_Last_7_Characters”从列_1的结果值中获取最后7个字符


那么如何实现Take_Last_7_Characters(column_1)?

使用
sqlalchemy.sql.expression.func
,生成sql函数


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


知道了,query=query.filter(func.substr(QueryLine.column_1,1,7)='0321334')但是现在,值'0321334'不同,它可以不同的长度,比如'0000000 1234567','00000000 123123','4321',上面的值如何确保我只选择最后7个字符?首先在sql中尝试,然后可以转化为炼金术。
qry = session.query(Test)
qry = qry.filter(func.SUBST(Test.column_1, func.LENGTH(Test.column_1) - 6, 7) == '0321334')