To escape the underscore and the percent to be used in a pattern in like expressions use the escape character (\
):
1
2
3
4
5
SELECT * FROM users WHERE name LIKE '\_';
SELECT * FROM users WHERE name LIKE '\%';
SELECT * FROM users WHERE name ILIKE '\_';
SELECT * FROM users WHERE name ILIKE '\%';
In JS, you can use regex
and replace function
to prepare keyword string:
1
const keyword = keywordFromInput.trim().replace(/([_%\\])/g, '\\$1');