我想在操作和语句
之间添加过滤器表有生日列,所以我必须使用它。
首先我尝试这个sql
select birthdate from user_table
where ROUND((CURRENT_DATE - birthdate) / 365) between 10 and 30
似乎在数据库中找到,但我不知道如何在sqlalchemy中写作
我试过这段代码
user_tag = session.query(
(datetime.datetime.now() - UserTags.birthdate) / 365
).all()
我得到了结果,但是当我尝试使用过滤器时,我迷失了方向
user_tag = session.query(
User.birthdate
).filter(
???? // I want to use it with between statement.
).all()
如何让sqlachemy代码对应
select birthdate from user_table
where ROUND((CURRENT_DATE - birthdate) / 365) between 10 and 30
答案 0 :(得分:1)
形成函数表达式并应用between()
:
user_tag = session.query(
func.round((func.current_date() - UserTags.birthdate) / 365).between(10, 30)
).all()