psql查询没有返回正确的结果?
var searchValue = 'shahid'; var query = ("select * from students where name ilike '%"+searchValue+"%'");
这是我的psql查询,但它没有返回任何值。 所以我只是安慰查询知道执行。
查询正在执行为:
select * from students where name ilike 'hahid%'
当我把search值(Shahid)的第一个字母大写时,它完全执行。
如果你想传递大写,你应该转换variablessearchValue例如。
var newSearchValue = (select initcatp(searchValue)) ;
这将把'shahid'转换为'Shahid'然后在你的查询variables中使用这个。
这在左边缺less一个'%',只会匹配以 hahid
开头的 hahid
select * from students where name ilike 'hahid%'
这不一样
select * from students where name ilike 'Shahid%'
这将只匹配以 Shahid
开头的东西。 现在,如果你想要的东西,将匹配任何与hahid
然后你想要的
select * from students where name ilike '%hahid%'
顺便说一句,你的例子是非常不安全的,如果searchValue来自I / O(用户,文件,networking等)。