Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Frage zu MySQL und LIKE (https://www.delphipraxis.net/54833-frage-zu-mysql-und-like.html)

pingu 12. Okt 2005 10:48

Datenbank: MySQL • Version: 4.0.17 • Zugriff über: PHPMyAdmin ...

Frage zu MySQL und LIKE
 
Hallo,

ich möchte aus einer Tabelle alle Datensätze auslesen bei denen der Stadtname mit z.B. "F" anfängt.

Mit
"SELECT * FROM kennzeichen WHERE stadt LIKE '%F%'"
bekomme ich logischerweise alle Städte angezeigt, in denen ein F vorhanden ist.

Benutze ich stattdessen
"SELECT * FROM kennzeichen WHERE stadt LIKE 'F%'"
bekomme ich gar kein Datensatz, obwohl definitiv Städte mit F am Anfang in der Tabelle stehen.

Datenbank ist MySQL 4.0.17

Bitte helft mir, bin bald am Verzweifeln.


Gruß, Pingu

Jelly 12. Okt 2005 11:04

Re: Frage zu MySQL und LIKE
 
Deine Abfrage sollte so funktionieren. Beim 4.023 Server klappts jedenfalls.

Alternativ kannst Du auch Folgendes probieren:
SQL-Code:
SELECT * FROM kennzeichen WHERE stadt >= 'F' and stadt < 'G'

pingu 12. Okt 2005 14:25

Re: Frage zu MySQL und LIKE
 
Vielen Dank. Hab jetzt den Fehler jetzt selbst gefunden.
Wer auch immer die Daten in die Tabelle geschrieben hat, hat vor jeden Stadtnamen ein Leerzeichen gesetzt :gruebel:
Ein einfaches Trim hat genügt.

Auf die Idee muss man erstmal kommen :roteyes:

Gruß, Pingu

Jelly 13. Okt 2005 07:39

Re: Frage zu MySQL und LIKE
 
Trotzdem kannst Du Dir meine Lösung durch den Kopf gehen lassen. Beim LIKE Operator werden nämlich eventuell vorliegende Indizes nicht berücksichtigt, bei >= und < allerdings schon. Bei grossen Datenmengen macht sich das dann schon bemerkbar. Wenn es allerdings nur einige Tausend Datensätze sind, machts keinen Unterschied.

mh166 13. Okt 2005 17:23

Re: Frage zu MySQL und LIKE
 
Zitat:

Zitat von Jelly
Bei grossen Datenmengen macht sich das dann schon bemerkbar. Wenn es allerdings nur einige Tausend Datensätze sind, machts keinen Unterschied.

:lol: Ich find das bei DBs doch immer wieder lustig. Da wird von "großen" Datenmengen gesprochen und dann von einigen 1000 Datensätzen als "nur". :lol: Ich mein, klar das is schon so. Trotzdem immer sehr... belustigend.

mfg, mh166

Jelly 14. Okt 2005 08:02

Re: Frage zu MySQL und LIKE
 
Zitat:

Zitat von mh166
Trotzdem immer sehr... belustigend.

Junger Mann,
das sind nun mal wirlich kleine Datenmengen, die mittlerweilen jedes DBMS problemlos bewältigt. Da lohnt es sich nicht mal drüber nachzudenken, ob der like Operator anzuwenden ist oder nicht. Ja nicht mal, einen Index auf die Spalte zu setzen, da der Anwender zeitlich keinen Unterschied feststellen wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz