Re: Select where (upper(xy)~'.CH'); ..matches also SPACE CH
Stephan Szabo <sszabo@megazone23.bigpanda.com>
From: Stephan Szabo <sszabo@megazone23.bigpanda.com>
To: marcel@simmcomm.ch, pgsql-bugs@postgresql.org
Date: 2000-10-26T15:19:47Z
Lists: pgsql-bugs
I think that's what it should be doing. ~ is a regexp search, and . is the any character match special character. If you're looking for an actual . you'll need to double backslash escape it. Stephan Szabo sszabo@bigpanda.com On Thu, 26 Oct 2000 pgsql-bugs@postgresql.org wrote: > Marcel (marcel@simmcomm.ch) reports a bug with a severity of 3 > The lower the number the more severe it is. > > Short Description > Select where (upper(xy)~'.CH'); ..matches also SPACE CH > > Long Description > There exists a problem with the ~ statement. The codesample and the text is from an adult contact database. > > The compare string .CH matches the word 'EINEN CHANCE' in the sentence. Seems to be, that the . will match the space between the words. This doesn't happen, if you replace .CH with _CH or something else. > > Sample Code > meetingpoint=> select upper(adtext) from ads where adnumber='40ac066e1db0633a' and (upper(adtext)~'.CH'); > upper > > -------------------------------------------------------------------------------------------------- > -------------------------------------------------------------------------------------------------- > --------------------------------------------------------------------------------- > WELCHE DOMINA WILL SICH EINEN SKLAVEN HALTEN. BIN EIN 29-JHRIGER]BI-BOY UND SEHR DEVOT. BITTE GEB > EN SIE MIR EINEN CHANCE DAMIT ICH IHNEN]BEWEISEN KANN DASS ICH IHR SKLAVE SEIN WERDE UND NUR FR S > IE BEREIT BIN]ALLES ZU MACHEN WAS SIE VON MIR VERLANGEN.]UNTERTNIGST IHR SKLAVE] > (1 row) > > meetingpoint=> select upper(adtext) from ads where adnumber='40ac066e1db0633a' and (upper(adtext)~'_CH'); > > upper > ----- > (0 rows) > > meetingpoint=> > > No file was uploaded with this report >