php select from mysql wo title mit A beginnt (und A allein)

Lesezeit: 2 Minuten

Ich bin mir sicher, dass das super einfach ist, aber ich kann es nicht herausfinden. Ich muss alle Titel aus meiner Datenbank auswählen, bei denen der Titel mit A oder B oder C usw. beginnt. Hier ist, was ich so versucht habe weit:

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

aber gibt nichts zurück.. Könnte mir jemand dabei helfen?

Prost

  • Ich habe auch vergessen zu fragen, wie das geht, wenn der Titel mit einer Zahl beginnt.

    – SoulieBaby

    15. Januar 2010 um 3:16 Uhr

  • Und wie macht man das mit PDO?

    – Wilhelm Entriken

    13. Juni 2016 um 21:20 Uhr

Benutzer-Avatar
Tyler Carter

Verwenden Sie für Titel, die mit „A“ beginnen, a % nach dem A

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

Verwenden Sie für Titel mit dem Buchstaben „A“. % auf beiden Seiten von A

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

Verwenden Sie für Titel, die mit dem Buchstaben „A“ enden % Vor dem A

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

Grundsätzlich % ist ein Platzhalter. Es teilt MySQL mit, dass sich alles an diesem Ort befinden kann.

Um Zahlen als ersten Buchstaben zu haben, sehen Sie sich Marks Antwort an.

  • Ich denke, das zweite Beispiel sollte in enden '%A%'

    – Katzenby

    15. Januar 2010 um 3:06 Uhr

  • Vielen Dank, ich habe auch vergessen zu fragen, wie es geht, wenn der Titel mit einer Zahl beginnt?

    – SoulieBaby

    15. Januar 2010 um 3:10 Uhr

  • Ersetzen Sie den Brief A mit einer Nummer wie 1%.

    – Tyler Carter

    15. Januar 2010 um 3:14 Uhr

  • kann es gemacht werden, wo es ein Zahlenplatzhalter ist, als könnte es eine beliebige Zahl sein?

    – SoulieBaby

    15. Januar 2010 um 3:18 Uhr

  • Dann fangen Sie an, sich mit MySQL Regex zu beschäftigen. Vielleicht möchten Sie dafür eine separate Frage stellen.

    – Tyler Carter

    15. Januar 2010 um 3:23 Uhr

Die Platzhalter für LIKE sind % und _wobei % mit 0 oder mehr Zeichen übereinstimmt und _ mit genau einem Zeichen übereinstimmt.

Die vorhandenen Antworten sind richtig, wenn Sie mit A beginnen:

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

Um mit einer beliebigen Zahl zu beginnen, können Sie den REGEXP-Operator verwenden:

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

  • Kommen Sie, um mir die akzeptierte Antwort zu stehlen, eh? (Nur ein Scherz) Einen Link zu Ihrer Antwort hinzugefügt.

    – Tyler Carter

    15. Januar 2010 um 3:27 Uhr


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

    – Mark Byers

    15. Januar 2010 um 3:33 Uhr

Versuchen:

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

und so weiter und so fort

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

% sagt “irgendetwas”, also ist es “A” dann irgendetwas. Funktioniert nur mit dem Vergleichsoperator LIKE.

1115240cookie-checkphp select from mysql wo title mit A beginnt (und A allein)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy