2013-11-28 2 views
8

मैं एक mysql डेटाबेस से कनेक्ट करने के लिए SQL कीमिया का उपयोग करना सीख रहा हूं। मैं डीबी से रिकॉर्ड खींचना चाहता हूं जो किसी दिए गए स्ट्रिंग से शुरू होता है। मुझे पता है कि सरल समानता के लिए मुझे यह करना है कि यहमैं SQL कीमिया का उपयोग कर क्वेरी के साथ "प्रारंभ" कैसे करूं?

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() 

उत्तर

14

यह शुद्ध एसक्यूएल है:

SELECT * FROM table WHERE field LIKE "string%" 

एसक्यूएल कीमिया है:

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

SQLAlchemy एक startswith column property है, तो यह वास्तव में काम करता है के रूप में आपको लगता है चाहते हैं:

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

यह एसक्यूएलएएल के लिए स्वीकार्य उत्तर होना चाहिए केमी संस्करण> = 0.9 लेकिन यह सुनिश्चित नहीं है कि 0.8 ने अभी तक 12/2013 से पहले 'Column.startswith() 'लागू किया है। – cowbert

संबंधित मुद्दे