2011-02-24 108 views
14

¿cómo podría eliminar TODOS los espacios en blanco de una fila? Veo aquí muchas preguntas pero todas las respuestas son para usar la opción reemplazar. Reemplazar funcionará solo para quitar un espacio, no todos.MySQL reemplazar todos los espacios en blanco con -

ex: a b c para convertirse a-b-c

Gracias.

+3

Reemplazar debería funcionar para eliminar todos los espacios. –

+0

Huh, tienes razón. Pero sé que lo he intentado y no funciona. Gracias. – oriceon

+0

@oriceon Bueno, tenemos que ver tu código, entonces. Y considere la posibilidad de que las cosas que está tratando de quitar no sean realmente espacios también. –

Respuesta

21

Esto se puede lograr con la siguiente función de MySQL:

SELECT REPLACE(table.field, ' ', '-') FROM table; 

Esto debería reemplazar todos los espacios en blanco a un -

+3

Querrá 'FROM table' en ese ejemplo, no' FROM field'. –

+0

Tenga en cuenta que esto no cambiará los valores de la base de datos que se almacenan, solo convertirá los espacios en guiones para el conjunto de resultados de esta consulta específica. – diamondsea

+0

Para reemplazarlos en la base de datos, use la respuesta de @faiz a continuación: – diamondsea

4

Prueba este

replace('a b c',' ','-') 
+0

SQL estándar usa comillas simples como delimitador de cadena. –

4
update image set path = REPLACE(image.path, ' ', '-') where path like '% %' 

si desea para actualizar la ruta en mysql usa la actualización para todas las filas que tienen espacios con% 20

1
UPDATE table SET table.field = REPLACE(table.field, ' ', '-'); 

Esto actualizará todos los campos, reemplazando todos los espacios con guiones. Esto realmente modificará los datos en las tablas. La respuesta de Fokko anterior cambiará solo los datos que se extraen, por lo tanto, no cambiará los datos reales.

Cuestiones relacionadas