2013-11-28 17 views
8

Bir mysql veritabanına bağlanmak için SQL simya kullanmayı öğreniyorum. Verilen bir dizeyle başlayan DB'den kayıtları almak istiyorum. Basit eşitlik için tek yapmam gereken tek şey şu ki buSQL simyası kullanarak "ile başlar" sorgusunu nasıl yaparım?

queryRes = ses.query(Table).filter(Tablee.fullFilePath == filePath).all() 
result = [] 
Böyle bir şeyi nasıl yapabilirim?
queryRes = ses.query(Table).filter(Table.fullFilePath.startsWith(filePath)).all() 
result = [] 

Belki de sorgu böyle görünüyor mu?

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

cevap

14

Bu saf SQL geçerli:

SELECT * FROM table WHERE field LIKE "string%" 

SQL simyasıdır:

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

SQLAlchemy bir startswith column property vardır, -Sandığın tam çalışır böylece:

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

SQLAl için kabul edilen yanıt bu olmalıdır chemy sürümleri> = 0.9 ancak henüz 12/2013'ten önce "Column.startswith()" ifadesini uygulayıp uygulamadığından emin değilim. – cowbert

İlgili konular