PostgreSQL - 如何在字符串条件中使用通配符
PostgreSQL - How to use wildcard in string condition
我有一个字符串:A%A
我想在数据库中查找所有以 A%A 开头的相同字符串。
示例:
AABCD - false
AABCE - false
AA%BC - true
我使用sql语句:
Select * from Tabel where Column like 'AA%B%'
但结果是:
AABCD
AABCE
AA%BC
因为字符串包含通配符 '%' 和 postgres select 错误。
请给我一个解决方案
要转义 %
字符,请像这样使用 \
\%
更新
Another approach 可以通过使用 ESCAPE
关键字和空字符串来实现,这样你告诉 postgres 禁用转义,并且 %
变成一个普通的 char
select * from Table where Column like '%' ESCAPE '';
我有一个字符串:A%A
我想在数据库中查找所有以 A%A 开头的相同字符串。
示例:
AABCD - false
AABCE - false
AA%BC - true
我使用sql语句:
Select * from Tabel where Column like 'AA%B%'
但结果是:
AABCD
AABCE
AA%BC
因为字符串包含通配符 '%' 和 postgres select 错误。
请给我一个解决方案
要转义 %
字符,请像这样使用 \
\%
更新
Another approach 可以通过使用 ESCAPE
关键字和空字符串来实现,这样你告诉 postgres 禁用转义,并且 %
变成一个普通的 char
select * from Table where Column like '%' ESCAPE '';