[英]filter SqlAlchemy column value by number of resulting characters
How can I filter SqlAlchemy column by number of resulting Characters, 如何按产生的字符数过滤SqlAlchemy列,
Here is a kind of implementation I am looking at, 这是我正在查看的一种实现,
query = query.filter(Take_Last_7_Characters(column_1) == '0321334') 查询= query.filter(Take_Last_7_Characters(column_1)=='0321334')
Where "Take_Last_7_Characters" fetches the last 7 characters from the resulting value of column_1 其中“ Take_Last_7_Characters”从column_1的结果值中获取最后7个字符
So How can I implement Take_Last_7_Characters(column_1) ?? 那么我该如何实现Take_Last_7_Characters(column_1)呢?
use sqlalchemy.sql.expression.func
, to generate SQL functions. 使用
sqlalchemy.sql.expression.func
生成SQL函数。
Please use the func
to generate SQL functions as directed by @tuxuday. 请按照@tuxuday的指示使用
func
生成SQL函数。
Note that the code is RDBMS-dependant. 请注意,该代码取决于RDBMS。 The code below runs for
SQLite
, which offers SUBSTR
and LENGTH
functions. 下面的代码在
SQLite
运行,该SQLite
提供SUBSTR
和LENGTH
函数。 Your actual database might have different names for those ( LEN, SUSBSTRING, LEFT, RIGHT
, etc). 您的实际数据库可能使用不同的名称(
LEN, SUSBSTRING, LEFT, RIGHT
等)。
qry = session.query(Test)
qry = qry.filter(func.SUBST(Test.column_1, func.LENGTH(Test.column_1) - 6, 7) == '0321334')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.