sql - 带有 Sequelize Cast 的 uuid v4 类型列上的 ILIKE 运算符
问题描述
我正在尝试在 postgres v10 中的 uuid 类型列上运行 ILIKE 运算符。像这样的东西,
select * from users where id ILIKE '%0%';
但正如我们都知道的那样,这是行不通的。所以我尝试将其转换为varchar
并再次尝试使用类似这样的查询。
select * from workspace_columns where id::varchar ILIKE '%0%';
瞧,它奏效了。现在我必须使用 Sequelize(节点 js 的 ORM)执行类似的操作。我找到了解决方案,但他们都在使用 sequelize.cast 函数,我不能使用它,因为我当前的代码正在使用 params 方法。像这样的东西: -
model.findAndCountAll(params || {})
其中 params 是一个 js 对象。
在做 ILike 之前,我是否可以通过某种方式传递我想投给这个专栏的信息?
也许是这样的: -
{ where : { Sequelize.cast('name', 'varchar'): { [Sequelize.Op.iLike] : '%w%'} } }
解决方案
你可以尝试使用原始 sql
sequelize.query("select * from workspace_columns where id::varchar ILIKE :search_name",{ replacements: { search_name: 'ben%' }, type: sequelize.QueryTypes.SELECT,model: Projects,mapToModel: true }).then(projects => {console.log(projects)}
推荐阅读
- c++ - boost-beast同步http服务器的错误实现
- java - 在 pom 中添加硒依赖项后,AWS Lambda Jar 无法压缩
- python - 当 URL 包含日语字符时,Python 请求不从 API 检索数据
- django - 为托管在 Cloud Foundry 上的应用程序调试 require.txt 文件中给出的 git 包
- mysql - 执行运行时发生 Scala SBT 项目错误
- javascript - SAPUI5:DatePicker 选择了日期,禁用了 InputField 中日期的显示
- time - Gnuplot:为时间戳数据设置 X 轴标签的起点
- python - 用相同大小的数组替换 nan 子数组的 Pythonic 方法
- php - 使用 PHP array_column 在多维数组中查找值
- django - React-admin 关闭对 X-Total-Count 的依赖