node.js - postgres 搜索列不区分大小写

标签 node.js postgresql

真的如标题...我正在运行

db.any('SELECT * from films WHERE title = $1', query.term).then(function(data) {
        res.status(200).json({status: 'success', data: data});
    }).catch(function(err) {
        return next(err);
    });

它有效,但是如果您搜索“car”,它不会在数据库中找到“Car”,您必须搜索“Car'...我可以强制使用小写字母,然后在前端将其转换回原来的位置,但这似乎已损坏,如果标题是“A Car Film”则更是如此。

任何帮助都会很棒,提前致谢

最佳答案

如果你寻找平等,Car <> car,因此如果你想这样做,你应该使用不同的运算符:

SELECT * from films WHERE title ilike $1

这将返回 true:

t=# select 'car' ilike 'Car';
 ?column?
----------
 t

你也可以试试more aggressive approach :

t=# create extension citext;
CREATE EXTENSION
t=# select citext 'car' = 'Car';
 ?column?
----------
 t
(1 row)

关于node.js - postgres 搜索列不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47812721/

相关文章:

node.js - super 测试:检查 res.send() 之后发生的事情

node.js - Node : "ENOENT" warning messages with sessions

javascript - 如何将外部 javascript 文件集成到 PugJS 中?

javascript - NodeJS HTTPS.get 如何知道下载完成?

java - Hibernate 不使用定义的序列 (postgresql)

sql - 如何在postgresql中对两列求和?

node.js - 我无法安装 React Native cli?

postgresql - 计算当月的数据 - 而不是 30 天前的 Postgres 语句

sql - 如何在字符串之间格式化和插入字符- Postgresql

ruby-on-rails - Postgres rake 数据库 :migrate fails with access denied error