Zapytanie wybierające MySQL - pobierz tylko pierwsze 10 znaków wartości

127

Ok, więc tutaj jest problem.

Mam tabelę z kilkoma kolumnami, a „temat” jest jedną z kolumn. Potrzebuję pierwszych 10 liter z pola „temat”, niezależnie od tego, czy pole „temat” zawiera ciąg zawierający 100 liter.

Na przykład,

Tabela - tbl. Kolumny - id, subject, value.

Zapytanie SQL:

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

Na przykład wynik, który otrzymuję

Witam, to mój temat i jak się masz

Wymagam tylko pierwszych 10 znaków

Witam, thi

Rozumiem, że mogę usunąć pozostałe znaki za pomocą php substr (), ale w moim przypadku nie jest to możliwe. Muszę usunąć nadmiar znaków przez MySQL. Jak to zrobić?

getvivekv
źródło

Odpowiedzi:

278

Korzystanie z poniższej linii

SELECT LEFT(subject , 10) FROM tbl 

MySQL Doc.

MuhammadHani
źródło
44
SELECT SUBSTRING(subject, 1, 10) FROM tbl
Rajesh Paul
źródło
Wydaje mi się, że jest to bardziej kompletna odpowiedź, ponieważ LEFTmoże nie odnosić się do szczegółów (tak, jak te podniesione przez PO) dotyczących ekstrakcji, które muszą rozpocząć się w połowie ciągu.
d8aninja
15

Spójrz na Left lub Substring, jeśli chcesz go jeszcze bardziej posiekać.

Google i dokumentacja MySQL to dobre miejsce na rozpoczęcie - zwykle nie otrzymasz tak ciepłej odpowiedzi, jeśli nawet nie próbowałeś sobie pomóc przed zadaniem pytania.

Steve
źródło
4
Próbka byłaby nieco bardziej pomocna.
Rocco The Taco
6
@RoccoTheTaco Zupełnie się nie zgadzam - również Twój głos negatywny jest bardzo ostry. przeczytaj http://stackoverflow.com/questions/how-to-askpierwszy punkt Have you thoroughly searched for an answer before asking your question?. Odpowiedź na to pytanie jest tak łatwa dzięki prostemu i szybkiemu wyszukiwaniu w Google. Nie chciałem tylko udzielić OP odpowiedzi, chciałem im pokazać JAK znaleźć odpowiedź - o wiele bardziej przydatne moim zdaniem.
Steve
13
Rozumiem, co mówi @Steve (ma sens), ale przyszedłem tutaj z Google. Tak, pierwotne pytanie było leniwe, ale pomógł mi fakt, że nie muszę nigdzie indziej. Fajnie też, że SO tworzy bibliotekę odpowiedzi na proste pytania, takie jak te. Równa się również więcej dolarów na reklamę dla SO.
sterfry68