Requête de sélection MySQL - Obtenez uniquement les 10 premiers caractères d'une valeur


126

Ok, alors voici le problème.

J'ai un tableau avec quelques colonnes et «sujet» est l'une des colonnes. J'ai besoin d'obtenir les 10 premières lettres du champ «sujet», peu importe que le champ «sujet» contienne une chaîne de 100 lettres.

Par exemple,

Tableau - tbl. Colonnes - id, subject,value .

Requête SQL:

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

Le résultat que j'obtiens est, par exemple

Bonjour, c'est mon sujet et comment vas-tu

Je n'ai besoin que des 10 premiers caractères

Bonjour, thi

Je peux comprendre que je peux supprimer le reste des caractères en utilisant php substr () mais ce n'est pas possible dans mon cas. J'ai besoin de supprimer les caractères excédentaires par MySQL. Comment cela peut-il être fait?

Réponses:



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

J'ai l'impression que c'est la réponse la plus complète, car il se LEFTpeut que les détails (oui, comme ceux soulevés par l'OP) ne traitent pas des extractions qui doivent commencer à mi-chaîne.
d8aninja

15

Jetez un œil à Left ou Substring si vous avez besoin de le découper encore plus.

Google et les documents MySQL sont un bon point de départ - vous n'obtiendrez généralement pas une réponse aussi chaleureuse si vous n'avez même pas essayé de vous aider avant de poser une question.


4
Un échantillon aurait été un peu plus utile.
Rocco The Taco

6
@RoccoTheTaco Je suis totalement en désaccord - votre vote négatif est également très dur. lire http://stackoverflow.com/questions/how-to-askle tout premier point est Have you thoroughly searched for an answer before asking your question?. Cette question est si facilement répondue par une recherche simple et rapide sur Google. Je ne voulais pas seulement donner au PO la réponse que je voulais lui montrer COMMENT trouver la réponse - beaucoup plus utile à mon avis.
Steve

13
Je comprends ce que @Steve dit (cela a du sens) mais je suis venu ici de Google. Oui, la question initiale était paresseuse, mais le fait que je n'ai pas à aller ailleurs m'a aidé. C'est aussi bien que SO soit en train de constituer une bibliothèque de réponses à des questions simples comme celles-ci. Égale également plus de publicité $ pour SO.
sterfry68
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.