Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can a SQLAlchemy query use MySQL's REGEXP operator?

How can this SQL query:

SELECT * from table where field REGEXP 'apple|banna|pear';

be written using SQLAlchemy?

My base query looks like this:

query = session.query(TableFruitsDTO)
like image 437
chrizonline Avatar asked Jan 10 '23 08:01

chrizonline


1 Answers

The SQLAlchemy docs describe how to use the MySQL REGEXP operator. Since there is no built-in function, use .op() to create the function:

query = session.query(TableFruitsDTO).filter(
     TableFruitsDTO.field.op('regexp')(r'apple|banana|pear')
)
like image 184
davidism Avatar answered Jan 13 '23 22:01

davidism