how to using dateadd in sqlalchemy with filter?

3.8k views Asked by At

The sql expression :

select * 
  from order 
 where status=0 
   and adddate(created_time, interval 1 day)>now();

python code:

from sqlalchemy.sql.expression import func, text
from datetime import datetime 

closed_orders = DBSession.query(Order).filter(func.dateadd(Order.create_time,         text('interval 1 day'))>datetime.now()).all() 

but it's got wrong. how to do it correctly?

thanks

REF :Using DATEADD in sqlalchemy

2

There are 2 answers

1
sanphi On

presto:

extract('hour', cast(t_table.open_time,TIMESTAMP)) - 5 == 12

extract('dow', cast(cast(t_table.open_time, TIMESTAMP) - 5,TIMESTAMP)) == 3
0
noa1 On

Try this:

from sqlalchemy import func
import datetime
DBSession.query(Order)\
    .filter(func.ADDDATE(Order.create_time,1)>datetime.datetime.now())