SmythSys IT Consulting

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.

 

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).