List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:May 1 1999 10:10pm
Subject:Using LIKE with different languages
View as plain text  
>>>>> "Giancarlo" == Giancarlo Bonansea <gbonanse@stripped>
> writes:

Giancarlo> Hello,
Giancarlo> I'm from Brazil and started using MySQL 3.22.21 configured with the Latin-1
Giancarlo> character set. Everything works fine, including matching of characters with
Giancarlo> accent, like the words "Bage" and "Bagé".

<cut>

Giancarlo> (5) SELECT * FROM cities WHERE name LIKE '%Bage%' -> Return 1 row "Taly
Giancarlo> Bage" (WRONG!)
Giancarlo> (6) SELECT * FROM cities WHERE name LIKE '%Bagé%' -> Return 1 row
> "Taly
Giancarlo> Bagé" (WRONG!)
Giancarlo> (7) SELECT * FROM cities WHERE name LIKE '%e%' -> Return 1 row "Taly
> Bage"
Giancarlo> (WRONG!)
Giancarlo> (8) SELECT * FROM cities WHERE name LIKE '%é%' -> Return 1 row
> "Taly Bagé"
Giancarlo> (WRONG!)

Giancarlo> This is a important feature that I think, is missing in MySQL. I also work
Giancarlo> with MS-SQL Server and it does not have this problem.

Hi!

Does MS-SQL server really compare 'e' and 'é' as the same with = and LIKE ?

At any rate; I once asked on this list which should be the 'right'
behavour for LIKE.  Then most people didn't want to match 'e' and 'é'
with LIKE.  (I actually didn't get that many respones...)

I could easily change this, I am only afraid to break applications
that depend on the current behaveour.

(In function sql/sql_string.cc, function:

 static int wild_case_compare(const char *str,const char *strend,
			     const char *wildstr,const char *wildend,
			     char escape)

Just change toupper() -> my_sortorder[]

Regards,
Monty
Thread
Using LIKE with different languagesGiancarlo Bonansea30 Apr
  • Re: Using LIKE with different languagesVladimir Berezniker30 Apr
  • Using LIKE with different languagesMichael Widenius2 May
RE: Using LIKE with different languagesGiancarlo Bonansea30 Apr
Re: Using LIKE with different languagesFernando Martins6 May