SQL - limpiar cadena sql desde caracter

 
Vista:
sin imagen de perfil

limpiar cadena sql desde caracter

Publicado por joaquin (4 intervenciones) el 21/04/2017 16:19:49
buenas, alguien sabe si puedo reemplazar desde un caracter en una consulta sql?

Por ejemplo tengo esta cadena en varios campos de una tabla

¡¡¡Mira mis otras ofertas ...

Y quisiera limpiar todos los lotes (es un prestashop) desde el caracter "¡" que me borre todo lo siguiente, se puede hacer ? No logro conseguirlo


gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

limpiar cadena sql desde caracter

Publicado por Isaias (1921 intervenciones) el 21/04/2017 18:07:56
Hola

¿En que motor de base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

limpiar cadena sql desde caracter

Publicado por joaquin (4 intervenciones) el 21/04/2017 20:08:24
Es una base de datos sql para prestashop 1.6, accedo desde phpmyadmin del panel del servidor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

limpiar cadena sql desde caracter

Publicado por leonardo_josue (1173 intervenciones) el 21/04/2017 21:52:19
Hola Joaquín:

Creo que tanto Isaias como yo siempre hacemos esta misma pregunta y tal pareciera que los foristas insisten en no saber contestar...

SQL NO ES UNA BASE DE DATOS... ES UN LENGUAJE DE CONSULTAS.

Bases de datos pueden ser muchas y muy variadas: SQL Server, MySQL, DB2, Oracle, PosgreSQL, SQLite, MariaDB, Informix y un largo ETC... por favor OJO con eso.

Por lo que comentas creo que tú estás trabajando con MySQL, por lo tanto debes usar las funciones propias para el manejo de cadenas que te da ese DBMS,

https://dev.mysql.com/doc/refman/5.7/en/string-functions.html

Si tienes problemas para implementar una solución, entonces postea lo que intentaste hacer y dinos qué salio más. así te ayudaremos a buscar alguna otra alternativa... serviría mucho si posteas también la estructura de tus tablas y pones algunos datos de ejemplo.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

limpiar cadena sql desde caracter

Publicado por pegasus6464 (4 intervenciones) el 25/04/2017 09:27:35
hola de nuevo, la base de datos se llama

selloman_ungw1

y la tabla que contiene el texto que deseo limpiar es

xkdi_product_lang

En concreto va en el campo "description"

El volcado por ejemplo de un artículo es:

INSERT INTO `xkdi_product_lang` (`id_product`, `id_shop`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES
(15, 1, 3, '<font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"><font size=\"4\" style=\"font-family:Arial;\"></font></font></font></font></font></font></font></font></font><p class=\"MsoNormal\"><span style=\"font-size:10pt;font-family:Arial, sans-serif;\"> </span></p><div align=\"center\">\n\n<table class=\"MsoNormalTable\" border=\"0\" cellspacing=\"10\" cellpadding=\"0\" width=\"100%\" style=\"width:100%;background:#9F1919;\"><tbody><tr><td style=\"background:#2B2B2B;padding:7.5pt 7.5pt 7.5pt 7.5pt;\">\n <div align=\"center\">\n <table class=\"MsoNormalTable\" border=\"0\" cellspacing=\"10\" cellpadding=\"0\" width=\"100%\" style=\"width:100%;background:#ADADAD;\"><tbody><tr><td style=\"background:#FFFFFF;padding:7.5pt 7.5pt 7.5pt 7.5pt;\">\n <div align=\"center\">\n <table class=\"MsoNormalTable\" border=\"0\" cellspacing=\"10\" cellpadding=\"0\" width=\"100%\" style=\"width:100%;\"><tbody><tr><td style=\"padding:15pt 15pt 15pt 15pt;\">\n <p class=\"MsoNormal\" align=\"center\" style=\"margin-bottom:.0001pt;text-align:center;\"><br /></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;color:rgb(192,0,0);\">ANTIGUA ESTAMPA RELIGIOSA PRIMERA COMUNION . COLEGIO INMACULADO CORAZON DE MARIA . SEVILLA . ANDALUCIA . AÑO 1969 . </span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;color:rgb(192,0,0);\">USADA  .  ORIGINAL .</span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;color:rgb(192,0,0);\">MUY BONITA</span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;color:rgb(192,0,0);\"><br /></span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;line-height:17.12px;color:rgb(192,0,0);\">SIZE / TAMAÑO:     </span></b><span style=\"font-size:12pt;line-height:17.12px;font-family:Arial, sans-serif;color:rgb(173,0,31);\"> </span><b><span style=\"font-size:12pt;line-height:17.12px;font-family:Calibri, sans-serif;color:rgb(192,0,0);\">↕</span></b><b><span style=\"font-size:12pt;line-height:17.12px;color:rgb(192,0,0);\">   120</span></b><b><span style=\"font-size:12pt;line-height:17.12px;color:rgb(192,0,0);\"> mm.    </span></b><b><span style=\"font-size:12pt;line-height:17.12px;font-family:Calibri, sans-serif;color:rgb(192,0,0);\">↔</span></b><b><span style=\"font-size:12pt;line-height:17.12px;color:rgb(192,0,0);\">   75</span></b><b><span style=\"font-size:12pt;line-height:17.12px;color:rgb(192,0,0);\"> mm.</span></b></p><p class=\"MsoNormal\"><br /></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;\">OLD RELIGIOUS  STAMP HOLY CARD   .   FIRST COMMUNION </span></b><font color=\"#c00000\"><b>REMEMBRANCE </b></font><b><span style=\"font-size:12pt;\">HOLY CARD .   </span></b><font color=\"#c00000\"><b>IMMACULATE HEART OF MARY</b></font><b style=\"font-size:large;\"><span style=\"font-size:12pt;\"> SCHOOL </span></b><b style=\"font-size:14pt;\"><span style=\"font-size:12pt;\">. SEVILLA (ANDALUCIA) - SPAIN  .  </span></b></p><p class=\"MsoNormal\"><b style=\"font-size:14pt;\"><span style=\"font-size:12pt;\">YEAR 1969 </span></b><b style=\"font-size:14pt;\"><span style=\"font-size:12pt;\">.</span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;\">USED  </span></b><b><span style=\"font-size:12pt;\">. ORIGINAL. </span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:12pt;\">VERY NICE.</span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:26pt;\"><br /></span></b></p><p class=\"MsoNormal\"><b><span style=\"font-size:26pt;\">¡¡¡MIRA ARTICULOS SIMILARES EN MI TIENDA!!!</span></b><span style=\"font-size:12pt;\"></span></p><p class=\"MsoNormal\"><b><span style=\"font-size:26pt;\"><font color=\"#002cfd\">SEE SIMILAR ITEMS IN MY SHOP!!!</table></div>', '', 'antigua-estampa-primera-comunion-colegio-inmaculado-corazon-sevilla-1969-c1140', '', '', '', 'ANTIGUA ESTAMPA PRIMERA COMUNION COLEGIO INMACULADO CORAZON SEVILLA 1969 C1140', '', ''),



quisiera saber si es posible limpiar mediante una consulta SQL todos los campos "descriptión" desde la frase "¡¡¡MIRA ARTICULOS " es decir que desde ¡¡¡MIRA ARTICULOS limpie todo el campo y borre todo el texto que le sigue, no sé si se puede hacer


gracias ss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

limpiar cadena sql desde caracter

Publicado por leonardo_josue (1173 intervenciones) el 26/04/2017 16:26:47
Hola de nuevo Joaquín:

Tómate un minuto para leer detenidamente lo que te estamos poniendo en los post's, porque tal pareciera que no lo estás haciendo (o nosotros estamos hablando en un lenguaje incomprensible O_o)

Pones esto:

1
2
3
la base de datos se llama
 
selloman_ungw1

Isaías y yo NO TE PREGUNTAMOS POR EL NOMBRE DE TU BASE DE DATOS, sino CON QUÉ MOTOR DE BASE DE DATOS ESTÁS TRABAJANDO, que son dos cosas muy distintas... te puse el ejemplo de que si es ORACLE, MySQL, SQL Server... es decir, hay muchos DBMS en el mercado y cada uno hace las cosas distintas para el manejo de cadenas, por lo tanto NECESITAMOS SABER CON QUÉ ESTÁS TRABAJANDO para poder darte una respuesta puntual a tu problema. El nombre de tu BD's no nos importa.


También pones esto:

1
quisiera saber si es posible limpiar mediante una consulta SQL todos los campos "descriptión" desde la frase "¡¡¡MIRA ARTICULOS " es decir que desde ¡¡¡MIRA ARTICULOS limpie todo el campo y borre todo el texto que le sigue, no sé si se puede hacer

La respuesta sería SÍ, ES POSIBLE HACER LO QUE QUIERES MEDIANTE UNA CONSULTA SQL... el cómo lo harías depende de la pregunta que te hicimos desde un inicio, con qué DBMS estás trabajando.

Además, te comenté que si estás trabajando con MySQL debes utilizar las funciones para el manejo de CADENAS que te proporciona... ¿Leíste el contenido de la liga que te puse? ¿Trataste de utilizar alguna de las muchas funciones que hay y que te pueden servir para lo que quieres?

Mucho ojo, no esperes encontrar en el foro una respuesta sólo para copiar y pegar... aquí encontrarás ayudas, pero el trabajo lo tienes que hacer tú.

Finalmente, con tus datos de ejemplo veo que en tu campo almacenas código HTML, debes tener entonces cuidado en asegurar que después de "eliminar" el contenido que necesites, quede una estructura válida... tal como planteas tu problema de eliminar todo lo que estás después de "¡¡¡MIRA ARTICULOS" entonces estarías eliminando también las etiquetas de cierre para algunos elementos, como por ejemplo (</table> y </div>) que está al final de la cadena... Si conformas mal las etiquetas de HTML en tu cadena, puedes tener problemas de presentación en los navegadores...

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

limpiar cadena sql desde caracter

Publicado por pegasus6464 (4 intervenciones) el 26/04/2017 16:56:55
Gracias por la respuesta y disculpadme si no me expreso con claridad aunque hago lo que puedo en base a mis conocimientos, no obstante no pasa nada si no lo consigo lo dejaré por imposible.

El motor de base de datos es MySQL, lo ejecuto desde la consola SQL de phpmyadmin.

Sí he revisado las funciones y leído un montón y como no lo conseguí por eso recurrí a un foro.

Por ejemplo utilicé la consulta

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

esperando que me limpiara todo el campo 'description' desde el carácter ¡ pero no me funciona

No es que venga al foro para que me den la respuesta sin yo haber trabajado e intentado hacerlo por mi mismo, ya he estado muchas horas intentándolo y leyendo y no me sale
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar