Autor Tema: eliminar espacios en blanco mysql recortar espacios antes de palabra  (Leído 11639 veces)

foxternoster

  • Sin experiencia
  • *
  • Mensajes: 42
    • Ver Perfil
Hola estoy tratando de realizar una consulta en MySql para obtener todas los campos de una columna de una tabla que no empiezan con <p style="text-align: center;"> pero el problema que tengo es que en algunos casos el contenido en la tabla es "<p style="text-align: center;">" mientras que en otros es "        <p style="text-align: center;">" y en otros "                                   <p style="text-align: center;">"

Es decir, hay un número variable de espacios delante

El problema es que al hacer la consulta

SELECT *
FROM `table_A`
WHERE `html_text` NOT LIKE ( '<p style="text-align: center;">' )

La consulta me devuelva que si hay espacios delante no cumple con lo que yo quiero, cuando sí cumple. Realmente quiero ignorar si hay espacios delante porque eso no me afecta ¿Cómo puedo hacer para que al realizar una consulta en MySql me ignore los espacios en blanco que haya al principio de una cadena?


Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:eliminar espacios en blanco mysql recortar espacios antes de palabra
« Respuesta #1 en: 10 de Agosto 2013, 12:51 »
Usando LTRIM puedes recortar los espacios a la izquierda. Ejemplo:

SELECT *
FROM `table_A`
WHERE `html_text` NOT LIKE LTRIM( '<p style="text-align: center;">%' )
LIMIT 0 , 30

Puedes añadir condiciones adicionales así:

SELECT *
FROM `table_A`
WHERE `html_text` NOT LIKE LTRIM( '<p style="text-align: center;">' )
AND `text` NOT LIKE LTRIM( '<p>%' )
LIMIT 0 , 30

El % equivale a cualquier cadena de texto, tal y como está usado aquí significaría "devuélveme todo lo que no empiece por lo indicado (con o sin espacios en blanco previos)".

Por ejemplo si una columna contiene abeto, abedul, al verde color, al azul del mar, rojo, verde, marrón y le pides a% te devuelve abeto, abedul, al verde color, al azul del mar.

foxternoster

  • Sin experiencia
  • *
  • Mensajes: 42
    • Ver Perfil
Re:eliminar espacios en blanco mysql recortar espacios antes de palabra
« Respuesta #2 en: 11 de Agosto 2013, 11:43 »
gracias mastermind creo que con esto me va a servir

foxternoster

  • Sin experiencia
  • *
  • Mensajes: 42
    • Ver Perfil
Re:eliminar espacios en blanco mysql recortar espacios antes de palabra
« Respuesta #3 en: 25 de Agosto 2013, 15:18 »
Para quien le sea util tambien se puede usar según para qué cosas rtrim y trim, referencia http://dev.mysql.com/doc/refman/5.0/es/string-functions.html

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".