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

Cómo quitar espacios de una cadena en MySQL

Problema:

Le gustaría ordenar el resultado de una consulta SQL en orden ascendente o descendente.

Ejemplo:

Nuestra base de datos tiene una tabla llamada customer_information con datos en las columnas id , first_name , last_name y email_address . Los usuarios completaron manualmente las direcciones de correo electrónico y algunas se ingresaron con espacios innecesarios por accidente. Desea eliminar los espacios de las direcciones de correo electrónico.

id nombre apellido dirección_de_correo
1 Calvino Ríos [email protected]
2 Alan Paterson al [email protected]
3 Kurt Evans [email protected]
4 Álex Watkins Álex. [email protected]

Solución:

Usaremos el REPLACE función. Aquí está la consulta:

	SELECT
		first_name,
		last_name,
		REPLACE(email_address, " ", "") AS correct_email_address
	FROM customer_information;

Aquí está el resultado de la consulta:

nombre apellido dirección_de_correo
Calvino Ríos [email protected]
Alan Paterson [email protected]
Kurt Evans [email protected]
Álex Watkins [email protected]

Discusión:

Usa el REPLACE función si desea reemplazar todas las apariciones de una subcadena en una cadena dada. En nuestro ejemplo, reemplazamos espacios innecesarios con valores vacíos.

Esta función toma tres argumentos. A continuación se ilustra la sintaxis de la función:

REPLACE(string_expression, substring, new_substring)

El primer argumento es la cadena que nos gustaría modificar. El segundo argumento es la subcadena que se reemplazará y el tercer argumento es la cadena que queremos usar en lugar de la subcadena reemplazada. Eliminamos los espacios no deseados en nuestro ejemplo, pero la función se puede usar para muchos propósitos. Por ejemplo, podemos querer limpiar y estandarizar una columna de números de teléfono. Podemos usar el REPLACE función para hacerlo.

Si desea eliminar más de un carácter de una cadena dada, simplemente anide el REPLACE funcionar por segunda vez. Por ejemplo, si tiene una cadena con espacios y guiones innecesarios, puede usar la siguiente sintaxis:

	REPLACE(REPLACE(string_expression, " ", ""), "-", "")

Recuerda que los argumentos de esta función en MySQL distinguen entre mayúsculas y minúsculas, así que ten cuidado con las letras.