如何在 SQLAlchemy 中编写条件过滤查询

发布于 2025-01-10 07:11:05 字数 302 浏览 0 评论 0原文

我是 sqlAlchemy 的新手。 我想将现有的 SQL 查询转换为 sqlAlchemy。

条件是(如果名字变量不为空,则显示带有名字的结果,否则忽略)

...
AND (:FirstName is NULL 
   OR UPPER (employee.firstname) LIKE UPPER ('{firstName}'||'%'))
AND (:LasttName is NULL 
   OR UPPER (employee.firstname) LIKE UPPER ('{lastName}'||'%'))

I am new to sqlAlchemy.
I want to convert my existing SQL query to sqlAlchemy.

The condition is (If the first name variable is not null show the results with firstName else ignore)

...
AND (:FirstName is NULL 
   OR UPPER (employee.firstname) LIKE UPPER ('{firstName}'||'%'))
AND (:LasttName is NULL 
   OR UPPER (employee.firstname) LIKE UPPER ('{lastName}'||'%'))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终遇你 2025-01-17 07:11:06

您可以使用 sqlalchemy 函数来做到这一点:

from sqlalchemy import func, or_, and_

db.session.query(
  employee
).filter(
  or_(
    employee.firstname == None,
    employee.firstname.ilike('...')
  )
  # add other filters if needed (and assumed)
)

希望它有帮助。

You can do this with sqlalchemy functions:

from sqlalchemy import func, or_, and_

db.session.query(
  employee
).filter(
  or_(
    employee.firstname == None,
    employee.firstname.ilike('...')
  )
  # add other filters if needed (and assumed)
)

Hope it helped.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文