Cómo buscar caracteres raros como Ascii usado SQL

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(‘&quot’,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 (&quot concatenado con el CHAR(59) que es el caracter Ascii para ; ) pero SQL lo entiende.