Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: foxternoster en 04 de Agosto 2013, 17:24

Título: eliminar espacios en blanco mysql recortar espacios antes de palabra
Publicado por: foxternoster en 04 de Agosto 2013, 17:24
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?

Título: Re:eliminar espacios en blanco mysql recortar espacios antes de palabra
Publicado por: Mastermind 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.
Título: Re:eliminar espacios en blanco mysql recortar espacios antes de palabra
Publicado por: foxternoster en 11 de Agosto 2013, 11:43
gracias mastermind creo que con esto me va a servir
Título: Re:eliminar espacios en blanco mysql recortar espacios antes de palabra
Publicado por: foxternoster 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