Sequelize.js 如何为MySQL构建区分大小写的查询

Sequelize.js 如何为MySQL构建区分大小写的查询,sequelize.js,Sequelize.js,按照标题。我大致找到了一些与该主题相关的问题,但建议的解决方案对我不起作用(抛出错误或生成的查询缺少条件),或者显然是错误的,例如,建议$eq运算符区分大小写-绝对不是 如何修改此查询以使其区分大小写 models.Item.findOne({ where: { name: 'soughtString' } }); 您可以尝试将eq与SHA1功能组合如下: models.Item.findOne({ 其中:{ [作品及]:[{ 名称:“soughtString”

按照标题。我大致找到了一些与该主题相关的问题,但建议的解决方案对我不起作用(抛出错误或生成的查询缺少条件),或者显然是错误的,例如,建议
$eq
运算符区分大小写-绝对不是

如何修改此查询以使其区分大小写

models.Item.findOne({
    where: {
       name: 'soughtString' 
    }
});

您可以尝试将
eq
SHA1
功能组合如下:

models.Item.findOne({
其中:{
[作品及]:[{
名称:“soughtString”,
},
在哪里(
sequelize.fn('SHA1',sequelize.col('name')),
'=', 
sequelize.fn('SHA1','soughtString')
)
]
});
这应该类似于以下SQL条件:

其中name='soughtString'和SHA1(name)=SHA1('soughtString'))

谢谢!这很有效!您有什么建议如何实现区分大小写的搜索,但使用
LIKE
而不是
=
?我尝试将比较器更改为
LIKE
,并使用了一些
sequelize的组合。where()
输入,但不起作用。不会抛出错误,但查询不会返回任何结果。我不这么认为。也许这可以通过类似搜索子字符串的函数来实现,但我不确定