sql >> Base de Datos >  >> RDS >> Mysql

MySQL:¿cómo eliminar espacios dobles o más de una cadena?

He aquí un viejo truco que no requiere expresiones regulares ni funciones complicadas.

Puede usar la función de reemplazo 3 veces para manejar cualquier número de espacios, así:

REPLACE('This is    my   long    string',' ','<>')

se convierte en:

This<>is<><><><>my<><><>long<><><><>string

Luego reemplaza todas las apariciones de '><' con una cadena vacía '' envolviéndola en otro reemplazo:

REPLACE(
  REPLACE('This is    my   long    string',' ','<>'),
    '><',''
)

This<>is<>my<>long<>string

Luego, finalmente, un último reemplazo convierte el '<>' nuevamente en un solo espacio

REPLACE(
  REPLACE(
    REPLACE('This is    my   long    string',
      ' ','<>'),
    '><',''),
  '<>',' ')

This is my long string

Este ejemplo fue creado en MYSQL (coloque un SELECT al frente) pero funciona en muchos idiomas.

Tenga en cuenta que solo necesita las 3 funciones de reemplazo para manejar cualquier cantidad de caracteres que se reemplazarán.