You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQLAlchemy中编写含CONCAT()的LIKE查询?

解决方案

原SQL的逻辑是判断固定字符串"somestring/example"是否以my_table表的value列值结尾,你的写法完全颠倒了匹配逻辑,所以无法生效。

正确的ORM写法(推荐)

先导入SQLAlchemy的func工具:

from sqlalchemy import func

然后构造查询:

query = MyTable.query.filter(
    func.literal("somestring/example").like(func.concat('%', MyTable.value))
).first()

直接使用原生SQL片段的写法

如果更习惯原生SQL的表达,也可以用text构造条件:

from sqlalchemy import text

query = MyTable.query.filter(
    text('"somestring/example" LIKE CONCAT(\'%\', value)')
).first()

两种写法都能实现你原SQL的逻辑,前者更符合SQLAlchemy的ORM风格,后者适合快速复用原生SQL片段。

内容的提问来源于stack exchange,提问作者nycelia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:04:52