Select where (upper(xy)~'.CH'); ..matches also SPACE CH - Mailing list pgsql-bugs

From pgsql-bugs@postgresql.org
Subject Select where (upper(xy)~'.CH'); ..matches also SPACE CH
Date
Msg-id 200010260429.e9Q4Tn109649@hub.org
Whole thread Raw
Responses Re: Select where (upper(xy)~'.CH'); ..matches also SPACE CH
Re: Select where (upper(xy)~'.CH'); ..matches also SPACE CH
List pgsql-bugs
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
betweenthe 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-JäHRIGER]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 FüR S
IE BEREIT BIN]ALLES ZU MACHEN WAS SIE VON MIR VERLANGEN.]UNTERTäNIGST 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

pgsql-bugs by date:

Previous
From: Sylvain Simard
Date:
Subject: pg_log
Next
From: The Hermit Hacker
Date:
Subject: Re: pg_log