2010-01-15 5 views
20

Ich bin sicher, das ist super einfach, aber es scheint nicht zu verstehen .. Ich muss alle Titel aus meiner Datenbank auswählen, wo der Titel beginnt mit A oder B oder C usw. Hier ist, was ich bisher ausprobiert habe:php select von mysql wo der Titel beginnt mit A (und A alleine)

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A' 

gibt aber nichts .. mir jemand kann mit dieser helfen?

Prost

+0

Ich habe vergessen zu fragen, wie es zu tun, wenn die Titel beginnt mit einer Nummer .. – SoulieBaby

+0

Und wie geht das mit PDO? –

Antwort

47

Für Titel in 'A' beginnen verwenden, um ein % nach den A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%' 

Für Titel mit dem Buchstaben 'A' in ihm, verwenden % auf beiden Seiten des A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A%' 

Für Titel, die mit dem Buchstaben "A" enden, verwenden Sie % vor dem A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A' 

Grundsätzlich % ist ein Platzhalter. Es teilt MySQL mit, dass alles am Standort sein kann.

Für Zahlen als erster Buchstabe, überprüfen Mark's answer.

+0

Ich denke, das zweite Beispiel soll in "% A%" enden. – catsby

+0

Ja, das wäre richtig. Fest. –

+0

Vielen Dank, ich habe auch vergessen zu fragen, wie es geht, wenn der Titel mit einer Nummer beginnt? – SoulieBaby

1

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'

% sagt "alles", so ist es "A" dann etwas. Funktioniert nur mit dem LIKE Vergleichsoperator.

2

try out:

SELECT * FROM weblinks WHERE catid = 4 AND ((title like 'A%') OR (title like 'B%')) 

so weiter und so fort

6

Die Platzhalter für LIKE sind % und _, wo% 0 Spiele oder mehr Zeichen und _ stimmt genau mit einem Zeichen überein.

6

Die vorhandenen Antworten sind richtig für Anfang mit A:

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%' 

Für Anfang mit einer beliebigen Anzahl Sie den REGEXP Operator verwenden:

SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]' 
+1

Komm, die akzeptierte Antwort weg von mir zu stehlen, eh? (Just Kidding) Ein Link zu Ihrer Antwort hinzugefügt. –

+0

danke Jungs sehr geschätzt :) – SoulieBaby

+2

@Soulie: Sie sollten wahrscheinlich Chacha Antwort akzeptieren, da Sie die Frage geändert haben, nachdem er bereits richtig beantwortet hatte. Wenn Sie das nächste Mal eine wesentliche Änderung an einer Frage vornehmen, beginnen Sie eine neue Frage, anstatt eine bestehende zu ändern. –

Verwandte Themen