Hace unos días teníamos que buscar, en una base de datos de productos, la cadena de caracteres " para sustituirlas por otras (espacio o “). " es el código Html de las comillas (“). Y teníamos que quitarlas en esa base de datos, en la descripción del producto.
El problema es que SQL detecta ciertos caracteres como ; como caracteres de ruptura o división de código. Y da error si lo incluimos en nuestra búsqueda. Por ejemplo algo como esto da error cerca del punto y coma y por culpa de ese signo:
UPDATE ps_product_lang SET description = REPLACE(description, ‘"’, ”)
WHERE description LIKE ‘<span class=%’ AND id_product LIKE ’56’ AND id_lang LIKE ’10’
¿Cómo podemos encontrarlo? Os lo contamos.
Cómo buscar caracteres ASCII o similares por SQL.
El truco está en buscar el resto de términos de la expresión, y concatenar la búsqueda con el término Ascii indicándolo con el comando CHAR. Os mostramos la variación:
UPDATE ps_product_lang SET description = REPLACE(description, CONCAT(‘"’,CHAR(59)), “”)
WHERE description LIKE ‘<span class=%’ AND id_product LIKE ’56’ AND id_lang LIKE ’10’
De esta manera hemos puesto la misma búsqueda (" concatenado con el CHAR(59) que es el caracter Ascii para ; ) pero SQL lo entiende.
Os recomendamos los siguientes productos relacionados con la informática: