Eliminar cadena de texto después del carácter /

Necesito actualizar los registros de un campo de una base de datos y para ello necesito
Eliminar todo el texto que está detrás de un carácter, en concreto /.
¿Cómo sería el código en sql?
Respuesta

Tengo un problema en una ltienda prestashop, en la descripción de los artículos quisiera limpiar el texto desde una parte en concreto del texto hacia adelante, es decir si tengo todos con esta cadena:

Calzado niño

¡Mira artículos similares¡Mira artículos similares

Limpiar todos los artículos desde "¡¡¡" en adelante


¿Se puede hacer con una consulta sql?

Estoy intentando que me limpie el campo (que me borre todo) a partir del carácter "¡" pero no me sale estoy probando la consulta y me dice valor incorrecto para INSTR

UPDATE `xkdi_product_lang` SET `description`=SUBSTR(`description`,1,INSTR(`description`,'¡',1,1))

¡Gracias! 

A mi no me ha funcionado no sé porqué jaj

¿Alguien tiene alguna idea para limpiar cadena de texto desde un carácter en adelante? Yo quisiera limpiar el campo a partir del carácter ¡ Pero creo que algo tengo mal en la consulta mysql...

UPDATE `tabla` SET `campo`=SUBSTR(`campo`,1,INSTR(`campo`,'¡',1,1))

1 respuesta más de otro experto

Respuesta
1
Puedes hacerlo con la función substr de la siguiente manera
Por ejemplo update table set campo=substr(campo, length(campo), 1) lo que hace el este substr es traerte solo el ultimo carácter suprimiendo así el texto que esta detrás del último carácter por ejemplo si tienes un tabla y tienes almacenado "vlacho/" te traería solo el "/" eliminado el texto y así actualizando el campo.
Gracias por responder tan rápido. Lo he probado y lo que hace es devolverme el campo vacío. Creo que me explicado mal, no quiero que me devuelva el /, si no todo lo que va a continuación de él que es muy variable: por ejemplo "cadena de texto / otracadena de texto", pues sería eliminar la "otracadena de texto"
De acuerdo al ejemplo que me diste "cadena de texto / otracadena de texto", y eliminar la palabra "otra cadena de texto" quiere decir que vas a eliminar todo lo que este después del carácter "/" lo puedes hacer así
update tabla set campo=SUBSTR(CAMPO,
1,instr(campo,'/',1,1))
Básicamente lo que hace es que a través de la función instr me busque el carácter "/" no importa que tan grande sea la cadena entonces es coger que de la linea 1 hasta donde encuentre el "/" me ponga el texto es decís en base al ejemplo que me diste el va arrancar desde la linea 1 hasta la 17 que es donde se encuentra el "/" y suprime lo que sigue y listo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas