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.