postgresql 模糊查询遇到"_"的情况
今天是PGSQL模糊查询的时候发现一个问题,即使用like关键字查询的时候,查询里面里面的内容包含下划线的时候得到的结果和预期的结果不太一样:
现象如下
原SQL: select schema_name from information_schema.schemata where schema_name like ‘%sch_%’
查询的结果:
我们很容易发现结果中的第一条数据和我们预期的结果不太一样,所以就很容易的发现在pgSQL中下划线是一个特殊字符。
所以在使用通配符包含下划线的时候我们应该对下划线进行转译。
改造后的SQL:select schema_name from information_schema.schemata where schema_name like '%sch\_%'
这样就会得到我们想要的结果: