I have this behavior in PostgreSQL 9.3:
-- (1) this "doesn't" work select 't\om' like '%t\om%' -- result = false -- (2) this works select 't/om' like '%t/om%' -- result = true
Why is the (1) query result false? What is the best way to get true in (1) query?
\ has no special meaning in SQL except inside the condition for the
LIKE operator where it can be used to escape the wildcard characters.
But you can define a different escape character for LIKE which then makes the
\ a "normal" character:
select 't\om' like '%t\om%' escape '#';
As Sunrelax has commented, you can also use an empty string as the "escape" sequence:
select 't\om' like '%t\om%' escape '';