如何在sqlalchemy中使用带有过滤器的dateadd?

时间:2013-08-16 06:53:34

标签: mysql sqlalchemy turbogears dateadd

sql表达式:

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

python代码:

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

但它出了问题。如何正确地做到这一点?

感谢

参考:Using DATEADD in sqlalchemy

2 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分:0)

presto:

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

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