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
>