Consultor Eletrônico



Kbase 16193: How Progress performs MATCHES , BEGINS and EQ or = compares.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   14/10/1998
How Progress performs MATCHES , BEGINS and EQ or = compares.

How does Progress perform comparisons when using BEGINS, MATCHES or
EQ (=)?

BEGINS and MATCHES: Progress performs a character by character
integer value comparison to determine if two strings match.
If no wildcard characters are used then MATCHES will result in
an exact string match (case insensitive). BEGINS uses indexes
whenever is possible (and consequently uses collation tables if an
index is used). MATCHES does not use indexes, and does not use
collation tables either (this means that an accented letter is
considered different than the same letter with no accent).

EQ or =: The current collation table is used to compare characters
in an equality test. This is because in some codepages (and some
languages) different characters may actually be considered equals.
As an example, capital A and capital A-accent are considered to be
equal in the ISO8859-1 codepage.

If you need to test for an EXACT MATCH use the MATCHES function
with no wildcards.

Please note that Progress uses the CAPS function to convert all
strings to uppercase before it compares them. Therefore, the
UPCASE table in the CONVMAP file will affect the outcome as well.


jsa 14-Oct-98 updated

Progress Software Technical Support Note # 16193