python - 如何在 sqlalchemy 中的过滤语句之间创建动态操作?
问题描述
我想用操作和语句之间添加过滤器
表有一个生日栏,所以我必须使用它。
首先我尝试这个 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
解决方案
形成函数表达式并应用between()
:
user_tag = session.query(
func.round((func.current_date() - UserTags.birthdate) / 365).between(10, 30)
).all()
推荐阅读
- javascript - 每次在mysql数据库中插入新记录时刷新div
- javascript - Postman:在正文中传递环境变量时,MD5 验证失败
- javascript - 如果使用了 window.location,用户不能按返回按钮返回上一页
- java - 启用 Java 本机内存跟踪 (NMT) 对性能有何影响?
- php - 具有重定向和动态内容的多语言 WordPress
- go - 如何实现自定义结构标签并能够对地图进行 XML 编码?
- python - 无法从网页中抓取容器
- nutch - 在 Nutch 中配置 RAM
- node.js - 监听 EADDRINUSE: 地址已经在使用 :::5000
- javascript - 如何获得有关元素加载的警报消息?