MySQL Select Query: ottieni solo i primi 10 caratteri di un valore


126

Ok, quindi ecco il problema.

Ho una tabella con alcune colonne e "oggetto" è una delle colonne. Devo ottenere le prime 10 lettere dal campo "oggetto" indipendentemente dal fatto che il campo "oggetto" contenga una stringa con 100 lettere.

Per esempio,

Tabella - tbl. Colonne - id, subject, value.

Query SQL:

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

Il risultato che sto ottenendo è, per esempio

Ciao, questo è il mio argomento e come stai

Richiedo solo i primi 10 caratteri

Ciao, thi

Posso capire che posso rimuovere il resto dei caratteri usando php substr () ma nel mio caso non è possibile. Devo far rimuovere i caratteri in eccesso da MySQL. Come si può fare?

Risposte:



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

Penso che questa sia la risposta più completa, dal momento che LEFTpotrebbe non affrontare le specifiche (sì, come quelle sollevate dall'OP) che si occupano di estrazioni che devono iniziare a metà stringa.
d8aninja

15

Dai un'occhiata a Sinistra o Sottostringa se hai bisogno di tagliarlo ancora di più.

Google e i documenti MySQL sono un buon punto di partenza: di solito non riceverai una risposta così calorosa se non hai nemmeno provato ad aiutare te stesso prima di porre una domanda.


4
Un campione sarebbe stato un po 'più utile.
Rocco The Taco

6
@ RoccoTheTaco Non sono assolutamente d'accordo - anche il tuo voto negativo è molto duro. leggere http://stackoverflow.com/questions/how-to-askil primo punto è Have you thoroughly searched for an answer before asking your question?. A questa domanda si risponde così facilmente con una semplice e veloce ricerca su Google. Non volevo solo dare all'OP la risposta, volevo mostrare loro COME trovare la risposta - molto più utile secondo me.
Steve

13
Capisco cosa sta dicendo @Steve (ha senso) ma sono venuto qui da Google. Sì, la domanda iniziale era pigra, ma il fatto che non devo andare da qualche altra parte mi ha aiutato. È anche bello che SO stia costruendo una libreria di risposte a semplici domande come queste. Inoltre è uguale a più pubblicità $ per SO.
sterfry68
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.