MySQL Select Query - Nur die ersten 10 Zeichen eines Werts abrufen

125

Ok, hier ist das Problem.

Ich habe eine Tabelle mit einigen Spalten und 'Betreff' ist eine der Spalten. Ich muss die ersten 10 Buchstaben aus dem Feld "Betreff" abrufen, unabhängig davon, ob das Feld "Betreff" eine Zeichenfolge mit 100 Buchstaben enthält.

Beispielsweise,

Tabelle - tbl. Spalten - id, subject, value.

SQL-Abfrage:

SELECT subject FROM tbl WHERE id ='$id';

Das Ergebnis, das ich bekomme, ist zum Beispiel

Hallo, das ist mein Thema und wie geht es dir?

Ich benötige nur die ersten 10 Zeichen

Hallo, thi

Ich kann verstehen, dass ich den Rest der Zeichen mit php substr () entfernen kann, aber das ist in meinem Fall nicht möglich. Ich muss die überschüssigen Zeichen von MySQL entfernen lassen. Wie kann das gemacht werden?

getvivekv
quelle

Antworten:

275

Verwenden Sie die folgende Zeile

SELECT LEFT(subject , 10) FROM tbl 

MySQL Doc.

MuhammadHani
quelle
43
SELECT SUBSTRING(subject, 1, 10) FROM tbl
Rajesh Paul
quelle
Ich bin der Meinung, dass dies die vollständigere Antwort ist, da LEFTmöglicherweise keine Besonderheiten (ja, wie die vom OP angesprochenen) angesprochen werden, die sich mit Extraktionen befassen, die in der Mitte der Zeichenfolge beginnen müssen.
d8aninja
14

Schauen Sie sich entweder Left oder Substring an, wenn Sie es noch mehr zerhacken müssen.

Google und die MySQL-Dokumente sind ein guter Ausgangspunkt - Sie erhalten normalerweise keine so herzliche Antwort, wenn Sie nicht einmal versucht haben, sich selbst zu helfen, bevor Sie eine Frage stellen.

Steve
quelle
4
Ein Beispiel wäre etwas hilfreicher gewesen.
Rocco The Taco
6
@RoccoTheTaco Ich bin völlig anderer Meinung - auch Ihre Abwahl ist sehr hart. Lesen Sie http://stackoverflow.com/questions/how-to-askden allerersten Punkt ist Have you thoroughly searched for an answer before asking your question?. Diese Frage lässt sich so einfach mit einer einfachen und schnellen Google-Suche beantworten. Ich wollte dem OP nicht nur die Antwort geben, sondern auch zeigen, wie man die Antwort findet - meiner Meinung nach viel nützlicher.
Steve
13
Ich verstehe, was @Steve sagt (macht Sinn), aber ich bin von Google hierher gekommen. Ja, die ursprüngliche Frage war faul, aber die Tatsache, dass ich nicht woanders hingehen muss, hat mir geholfen. Es ist auch schön, dass SO eine Bibliothek mit Antworten auf einfache Fragen wie diese aufbaut. Entspricht auch mehr Werbung $ für SO.
sterfry68