Avatar billede d-avid Nybegynder
20. maj 2002 - 17:58 Der er 5 kommentarer og
1 løsning

Søgning uden case sensitiv

Hej

Jeg sidder med en database med nogle navne.
F.eks.

Line
Louise
Anne

Når jeg søger med like '%Li%' går det godt .. jeg får resultatet: Line

Når jeg søger med like '%li%' går det skidt... ingen data.

Hvordan ungår jeg det problem med case sensitiv. Og jeg kan desværre ikke bare ændre alle navne til lille eller stor, da det er træk fra en base som jeg ikke administrere.

Håber der er nogen der har et godt forslag.

D-avid
Avatar billede kimiwan Nybegynder
20. maj 2002 - 18:15 #1
du kan bruge mysql's LCASE(string) funktion

SELECT * FROM tabelnavn WHERE LCASE(feltnavn) LIKE  LCASE('%Li%')
Avatar billede tipsen Nybegynder
20. maj 2002 - 21:24 #2
Hvis du søger med

SELECT * FROM db WHERE navn LIKE '%li%';

er MySQL *IKKE* casesensitive jvf:

http://www.mysql.com/doc/S/t/String_comparison_functions.html

Jeg har selv lige testet det og hvis man vil have forskel på store-små bogstaver skal man skrive:

SELECT * FROM db WHERE navn LIKE BINARY '%li%';

Så problemet ligger med stor sandsynlighed et andet sted!
Avatar billede kimiwan Nybegynder
20. maj 2002 - 21:29 #3
iirc kan du designe tabellen/feltet så det er case sensitive.
Avatar billede tipsen Nybegynder
20. maj 2002 - 21:35 #4
Ikke så vidt jeg ved eller kan se i manualen...

Se evt: http://www.mysql.com/doc/C/a/Case_sensitivity.html
Avatar billede tipsen Nybegynder
20. maj 2002 - 22:35 #5
Der er muligvis en bug i MySQL - læste et eller andet sted, at hvis man søgte med '%blabla%' i et felt af typen BLOB (dvs. sandsynligvis også TEXT felter!) var søgningen case-sensitive!
Avatar billede barklund Nybegynder
22. maj 2002 - 16:43 #6
Nu ved jeg ikke så meget om mySQL, men om SQL (som mySQL jo dårligt nok understøtter), men normalt ville jeg bruge ILIKE i stedet:

SELECT * FROM tabelnavn WHERE feltnavn ILIKE 'line';

Skulle vist returnere alle ønskede records... det virker i hvert fald på en PostgreSQL-server...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester