2013-11-28 17 views
8

Ich lerne SQL-Alchemie verwenden, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Ich möchte Datensätze aus dem DB ziehen, die mit einer gegebenen Zeichenfolge beginnen. Ich weiß, dass für einfache Gleichheit alles, was ich tun muss, ist diesWie mache ich eine "beginnt mit" Abfrage mit SQL Alchemie?

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

Wie mache ich so etwas?

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

Vielleicht würde die Abfrage so aussehen?

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

Antwort

14

Dies ist die reine SQL:

SELECT * FROM table WHERE field LIKE "string%" 

Die SQL-Alchemie:

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

SQLAlchemy ein startswith column property hat, so ist es genau so, wie Sie arbeitet denken würde:

queryRes = ses.query(Table).filter(Table.fullFilePath.startswith(filePath)).all() 
+0

Dies sollte die akzeptierte Antwort für SQLAl sein chemy Versionen> = 0.9, aber nicht sicher ob 0.8 'Column.startswith()' vor 12/2013 implementiert hat. – cowbert

Verwandte Themen