From 25bf317ccd5aa6050f1f0ac6aa5ed48cb5c6e98c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 23 Mar 2020 12:42:15 -0400 Subject: [PATCH] Doc: explain that LIKE et al can be used in ANY (sub-select) etc. This wasn't stated anywhere, and it's perhaps not that obvious, since we get questions about it from time to time. Also undocumented was that the parser actually translates these into operators. Discussion: https://postgr.es/m/CAFj8pRBkvZ71BqGKZnBBG4=0cKG+s50Dy+DYmrizUKEpAtdc+w@mail.gmail.com --- doc/src/sgml/func.sgml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 652580a804..2e89982abd 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -4046,7 +4046,23 @@ cast(-44 as bit(12)) 111111010100 !~~ and !~~* operators that represent NOT LIKE and NOT ILIKE, respectively. All of these operators are - PostgreSQL-specific. + PostgreSQL-specific. You may see these + operator names in EXPLAIN output and similar + places, since the parser actually translates LIKE + et al. to these operators. + + + + The phrases LIKE, ILIKE, + NOT LIKE, and NOT ILIKE are + generally treated as operators + in PostgreSQL syntax; for example they can + be used in expression + operator ANY + (subquery) constructs, although + an ESCAPE clause cannot be included there. In some + obscure cases it may be necessary to use the underlying operator names + instead.