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?

Respuestas:



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

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.