我在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
为什么(1)查询结果为false?在(1)查询中获得真实的最佳方法是什么?
答案 0 :(得分:4)
\
在SQL 中没有特殊含义,除了在LIKE
运算符的条件中,可用于转义通配符。
但是你可以为LIKE定义一个不同的转义字符,然后使\
a"正常"字符:
select 't\om' like '%t\om%' escape '#';
修改
正如Sunrelax所评论的那样,你也可以使用空字符串作为"转义"序列:
select 't\om' like '%t\om%' escape '';
答案 1 :(得分:1)