> > Does the SQL92 standard have to be purchased from the ANSI Board?
>
> afaik, yes.
>
> > Well, my actual question has to do with LIKE. Could anyone who has
> a
> > copy of a standard send me the PATTERN syntax/meanings for LIKE in
> > SQL92?
>
> Well, you may be hoping for more than is in any of your reference
> books,
> but there isn't any more to tell :)
>
> % ==> match any (sub)string
> _ ==> match any single character
> everything else matches itself
>
> In SQL92 (but not yet in Postgres; can't remember if there is a
> workaround):
>
> LIKE 'pattern' ESCAPE 'char'
>
> allows a single character "char" if it precedes the two pattern
> matching
> characters to demote the "%" or "_" to act like a normal single
> character. The Postgres regex stuff is much more powerful.
>
> Sorry, I think that's it :(
>
> - Tom
Well, In all of the major Databases that I have worked with there is
also the "[character_set]" matching operator.
So a pattern of '[A-D]%' would match all word beginning with "A", "B",
"C", or "D", and "[^character_set]" matches everything but the set.
Looking at the current PgSQL like code this is ignored as well as the
ESCAPE syntax. I'm trying to resolve the problem we have of LIKE not
matching the pattern "%%" to anything even "%".
But, looking at the code I see that "%%" or "%%%%%%%%" should be equal
to "%" so it's not the LIKE matching code that's causing the problem
(also, read I'm looking in the wrong spot).
Does anybody know if the "[character_set]" stuff is part of the
standard?
Can anyone point me to another place where the pattern could/would get
munged?
Also, wouldn't doing a memmove from the DATA portion of a varlena struct
cause it problems if it was accessed again?
Thanks again,
-DEJ