Suche in SQL, wo der String mit X beginnt

8

Nun, ich möchte derzeit eine Suchmaschine mit SQL und PHP machen. Ich benutze crrently die folgende Abfrage:

%Vor%

Aber ich möchte die Info mit 'name' auswählen, die mit $ q beginnt, und nicht mit denen, die $ q enthalten.

    
Joseph 10.01.2012, 23:26
quelle

2 Antworten

20

Entfernen Sie einfach den ersten Platzhalter (%):

%Vor%     
webbiedave 10.01.2012, 23:27
quelle
0

Wenn Sie Felder mit mehreren Namen suchen und nach einem Namen suchen möchten, der sich in der Mitte des Feldes befindet, ist es möglicherweise besser, Full Text Search (FTS) zu verwenden. Wenn sich beispielsweise das Feld name im OP auf einen vollständigen Namen bezieht und "John Doe" enthalten könnte und Sie nach "Doe" suchen möchten, ist FTS wahrscheinlich besser (genauer und schneller) als die Verwendung von a LIKE operator. Mit FTS werden die einzelnen Wörter im Text indexiert, so dass Suchvorgänge sehr schnell durchgeführt werden können und komplexere Suchvorgänge möglich sind, z. B. die Suche nach zwei Wörtern (oder Namen) in einem Feld, die nicht benachbart sind zufällig).

Der spezifische Datenbankanbieter wird nicht im OP erwähnt, aber wenn FTS unterstützt wird, dann könnte es eine gute Wahl für das sein, was Sie versuchen. Einige FTS Informationen für SQL Server und für MySQL ist leicht mit einer Suche gefunden.

    
Mark Wilkins 11.01.2012 00:20
quelle

Tags und Links