2017-02-14 45 views

回答

1

下划线字符在LIKE特殊的意义,为the documentation

在图案的下划线(_)代表(匹配)任何单个字符;百分号(%)匹配零个或多个字符的任何序列。 (...)要匹配文字下划线或百分号而不匹配其他字符,模式中的相应字符必须以转义字符开头。

所以这些查询是等价的:

SELECT * FROM t WHERE t.s ~ '^(N_|B_).*'; 
SELECT * FROM t WHERE t.s like 'N\_%' or t.s like 'B\_%';