2012-04-10 25 views
17

Estoy buscando una manera de eliminar algunos caracteres del final de un campo en mi base de datos MySql.Cómo eliminar caracteres del final del campo en la base de datos MySql

Digamos que tengo una tabla llamada 'artículos' y hay un campo llamado 'descripciones', algunas de esas descripciones tienen <br> 's al final. Podría haber un solo caso, o podría haber 2-3 <br> al final de ese campo.

Necesito encontrar un camino a través de PHP/MySql para recortar estos <br> 's. Puede haber otros <br> en la descripción que quiero conservar, solo son los que están al final que necesito eliminar.

Sé que puedo recorrer todas las entradas, verifique que la etiqueta esté al final, si existe, quítelo y luego actualice la base de datos con el nuevo valor. Pero esta parece ser la manera larga de hacerlo, y no estoy seguro de cómo lograr lo que intento hacer.

+0

también se puede utilizar quitar si tiene didnot ancho en medio o empezando –

Respuesta

28

que no tienen una instancia de MySQL para poner a prueba, pero algo como esto probablemente hacerlo:

UPDATE myTable 
    SET myCol = TRIM(TRAILING '<br>' FROM myCol); 

Tome un vistazo a algunos de los string functions.

10

Puede usar la función TRIM en mysql.

UPDATE items SET descriptions = TRIM(TRAILING "<br>" FROM descriptions) 

El uso TRIM es here.

+0

que debería haber sido un poco más claro en mi pregunta. Los caracteres que quería eliminar eran
, independientemente de cuántos. Literalmente no estaba tratando de eliminar "
's". –

+0

Sí voté su respuesta. –

+0

@SherwinFlight Ok, editaré la respuesta. – yaronli

2

Use SUBSTRING y LENGTH para recortar el campo. Algo así como

UPDATE MyTable SET MyField=SUBSTRING(MyField,1,LENGTH(MyField)-4) 
WHERE MyField LIKE '%<br>' 
+0

... Y luego ejecutaría la consulta varias veces hasta que no haya más entradas que coincidan con 'LIKE '% br''. ¡Inteligente! – octern

+1

El argumento central en SUBSTRING debe ser uno, no un cero. http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring –

+0

Es por eso que dije "algo así como" :). Gracias, editado. – SteveCav

Cuestiones relacionadas