MySQL Select Query: obtenga solo los primeros 10 caracteres de un valor

126

Ok, aquí está el problema.

Tengo una tabla con algunas columnas y 'asunto' es una de las columnas. Necesito obtener las primeras 10 letras del campo 'asunto' sin importar que el campo 'asunto' contenga una cadena con 100 letras.

Por ejemplo,

Mesa - tbl. Columnas - id, subject, value.

Consulta SQL:

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

El resultado que obtengo es, por ejemplo

Hola, este es mi tema y como estas

Solo necesito los primeros 10 caracteres

Hola

Puedo entender que puedo eliminar el resto de los caracteres usando php substr () pero eso no es posible en mi caso. Necesito que MySQL elimine el exceso de caracteres. ¿Cómo se puede hacer esto?

getvivekv
fuente

Respuestas:

276

Usando la línea de abajo

SELECT LEFT(subject , 10) FROM tbl 

MySQL Doc.

MuhammadHani
fuente
43
SELECT SUBSTRING(subject, 1, 10) FROM tbl
Rajesh Paul
fuente
Siento que esta es la respuesta más completa, ya que es LEFTposible que no aborde detalles específicos (sí, como los planteados por el OP) que tratan con extracciones que necesitan comenzar a mitad de la cadena.
d8aninja
15

Eche un vistazo a Izquierda o Subcadena si necesita cortarlo aún más.

Los documentos de Google y MySQL son un buen lugar para comenzar: por lo general, no obtendrá una respuesta tan cálida si ni siquiera ha intentado ayudarse antes de hacer una pregunta.

Steve
fuente
44
Una muestra hubiera sido un poco más útil.
Rocco The Taco
66
@RoccoTheTaco Estoy totalmente en desacuerdo, también su voto negativo es muy duro. leer http://stackoverflow.com/questions/how-to-askel primer punto es Have you thoroughly searched for an answer before asking your question?. Esta pregunta se responde tan fácilmente mediante una búsqueda simple y rápida en Google. Yo no sólo quiero dar el OP la respuesta que quería mostrarles cómo encontrar la respuesta - mucho más útil en mi opinión.
Steve
13
Entiendo lo que dice @Steve (tiene sentido) pero vine aquí de Google. Sí, la pregunta original era perezosa, pero el hecho de que no tengo que ir a otro lado me ayudó. También es bueno que SO esté construyendo una biblioteca de respuestas a preguntas simples como estas. También equivale a más publicidad $ para SO.
sterfry68