sequelize.js - Sequelize LIKE/iLIKE 以列值作为子字符串
问题描述
对于 Postgres 本身,这里有一个较早的问题
我想要了解的是如何使用运算符在 Sequelize 中编写以下内容:
SELECT * FROM events
WHERE 'Edward Sharpe and the Magnetic Zeroes' LIKE '%' || name || '%';
- 事件是表
- name 是列值(例如 Edward Sharpe)
它本质上是相反的
name: {
[Op.iLike]: "%" + "Edward Sharpe and the Magnetic Zeroes" + "%",
}
解决方案
我还认为 sequelize 不太可能处理您的序列(string_literal,如 column_plus_wildcard)。这个特定的例子可以使用 INSTR 来处理,如下所示:
Events.findAll({
where: Sequelize.where(
Sequelize.fn('INSTR',
Sequelize.col('name'),'Edward Sharpe'),
{$gt : 0}
)
})
其他情况,例如 %Edward%Sharp%Magnetic%,正则表达式函数可能很有用。
推荐阅读
- html - 输入时div重复
- android - 如何生成打开 Apple Plan 或 Google Maps 的链接
- dictionary - 我可以有一个功能来检查一个键是否在地图中?
- xml - powershell - 通过 XML 循环创建正确数量的节点,但属性值被捆绑
- javascript - 为什么 A-Frame 相机动画不总是沿最短路径旋转?
- swift - 检索 Firebase 图像 - ImageView
- serialization - 如何识别这是哪种序列化格式?
- firebase - 如何确保每次创建新文档时都在运行云功能?
- java - 当我运行程序时,Eclipse (Java) 冻结了我的整个计算机
- html - Asp .net core - 使用 Html.ActionLink 发送参数