LIKE is a tiny pattern language with two symbols and one trap: the symbols are legal data. Searching for '100%' with LIKE '%100%' finds every string containing 100 — the trailing percent silently became a wildcard. ESCAPE names a prefix character that de-wildcards the next symbol. And _ is one-character-exactly, not a small %.
SELECT name FROM fabrics WHERE name LIKE '%100%' ORDER BY name;
SELECT name FROM fabrics WHERE name LIKE '%100\%' ESCAPE '\' ORDER BY name;
The search for a literal '100%' with LIKE '%100%' matched 'silk 100' too — the trailing % is a wildcard, not a character, until ESCAPE de-wildcards it.
ESCAPE for literal symbols; ILIKE / LOWER() for case; anchor patterns deliberately (a leading % also kills the index — a P17 story).
Case sensitivity is dialect business — ILIKE where it exists, LOWER() both sides where it doesn't.