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ć?

Odpowiedzi:



44
SELECT SUBSTRING(subject, 1, 10) FROM tbl

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.