如何使用SQL炼金术进行“启动”查询?

时间:2013-11-28 15:01:22

标签: python sqlalchemy

我正在学习使用SQL alchemy连接到mysql数据库。我想从数据库中提取以给定字符串开头的记录。我知道,对于简单的平等,我需要做的就是这个

queryRes = ses.query(Table).filter(Tablee.fullFilePath == filePath).all()
result = []

我该怎么办?

queryRes = ses.query(Table).filter(Table.fullFilePath.startsWith(filePath)).all()
result = []

也许查询看起来像这样?

q = ses.query(Table).filter(Table.fullFilePath.like('path%')).all()

3 个答案:

答案 0 :(得分:17)

SQLAlchemy有一个startswith column property,因此它的工作原理与您想象的完全相同:

isAssignableFrom

答案 1 :(得分:14)

这是纯SQL:

SELECT * FROM table WHERE field LIKE "string%"

SQL炼金术是:

q = ses.query(Table).filter(Table.fullFilePath.like('path%')).all()

答案 2 :(得分:1)

如果您需要不区分大小写的比较,请使用ilike

session.query(SomeTable).filter(SomeTable.some_column.ilike('bla%')).all()