RE: [HACKERS] SQL92
От | Jackson, DeJuan |
---|---|
Тема | RE: [HACKERS] SQL92 |
Дата | |
Msg-id | F10BB1FAF801D111829B0060971D839F43D638@cpsmail обсуждение исходный текст |
Список | pgsql-hackers |
> Jackson, DeJuan wrote: > > > > 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? > The SQL92 LIKE: > > character-string-expression [NOT] LIKE pattern [ESCAPE > 'escape-char'] > > allows only the special characters % and _ > > You need The SQL3 SIMILAR > > character-string-expression [NOT] SIMILAR TO pattern [ESCAPE > 'escape-char'] > > in this case pattern can involve additional special characters, not > just > % and _ as in LIKE, but every regular expression or "[character_set]" > like you said. (Refer to "A Guide to SQL Standard 4th edition > Date-Rarwen, page 505). > > Jose' Well, I'm not looking for a new operator just trying to clarify what the scope of the current one should be. But, thanks for the information, Jose'. If you have any clue where in the source-tree LIKE is implemented could you let me know? -DEJ
В списке pgsql-hackers по дате отправления: