Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como remover espaços de uma string no MySQL

Problema:


Você gostaria de classificar o resultado de uma consulta SQL em ordem crescente ou decrescente.

Exemplo:


Nosso banco de dados tem uma tabela chamada customer_information com dados nas colunas id , first_name , last_name e email_address . Os endereços de e-mail foram preenchidos manualmente pelos usuários, e alguns foram inseridos com espaços desnecessários por acidente. Você deseja remover os espaços dos endereços de e-mail.
id first_name last_name endereço_email
1 Calvino Rios [email protected]
2 Alan Paterson al an.paterson@ example.com
3 Kurt Evans [email protected]
4 Alex Watkins alex. [email protected]

Solução:


Usaremos o REPLACE função. Aqui está a consulta:
	SELECT
		first_name,
		last_name,
		REPLACE(email_address, " ", "") AS correct_email_address
	FROM customer_information;

Segue o resultado da consulta:
first_name last_name endereço_email
Calvino Rios [email protected]
Alan Paterson [email protected]
Kurt Evans [email protected]
Alex Watkins [email protected]

Discussão:


Use o REPLACE função se você deseja substituir todas as ocorrências de uma substring em uma determinada string. Em nosso exemplo, substituímos espaços desnecessários por valores vazios.

Esta função recebe três argumentos. O seguinte ilustra a sintaxe da função:
REPLACE(string_expression, substring, new_substring)

O primeiro argumento é a string que gostaríamos de modificar. O segundo argumento é a substring a ser substituída e o terceiro argumento é a string que queremos usar no lugar da substring substituída. Removemos os espaços indesejados em nosso exemplo, mas a função pode ser usada para muitas finalidades. Por exemplo, podemos querer limpar e padronizar uma coluna de números de telefone. Podemos usar o REPLACE função para fazê-lo.

Se você deseja remover mais de um caractere de uma determinada string, apenas aninhe o REPLACE funcionar uma segunda vez. Por exemplo, se você tiver uma string com espaços e traços desnecessários, poderá usar a seguinte sintaxe:
	REPLACE(REPLACE(string_expression, " ", ""), "-", "")

Lembre-se que os argumentos desta função no MySQL diferenciam maiúsculas de minúsculas, então tenha cuidado com as letras.