postgres搜索列不区分大小写

时间:2017-12-14 11:52:33

标签: 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);
    });

它有效,但是如果您搜索“ c ar”,它在数据库中找不到“ C ar”,则必须搜索“ C < / strong> ar'...我可以强制小写,然后将其转换回前端,但这似乎已经破碎,如果标题是“汽车电影”,那就更是如此。

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

1 个答案:

答案 0 :(得分:1)

如果您寻求平等,Car&lt;&gt; 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)