sql >> Databáze >  >> RDS >> Mysql

Jak odstranit mezery z řetězce v MySQL

Problém:

Chcete seřadit výsledek SQL dotazu ve vzestupném nebo sestupném pořadí.

Příklad:

Naše databáze obsahuje tabulku s názvem customer_information s údaji ve sloupcích id , first_name , last_name a email_address . E-mailové adresy uživatelé vyplnili ručně a do některých byly náhodně zadány zbytečné mezery. Chcete odstranit mezery z e-mailových adres.

id křestní_jméno last_name e-mailová_adresa
1 Calvin Rios [email protected]
2 Alan Paterson al an.paterson@ example.com
3 Kurt Evans [email protected]
4 Alex Watkins alex. [email protected]

Řešení:

Použijeme REPLACE funkce. Zde je dotaz:

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

Zde je výsledek dotazu:

first_name last_name e-mailová_adresa
Calvin Rios [email protected]
Alan Paterson [email protected]
Kurt Evans [email protected]
Alex Watkins [email protected]

Diskuse:

Použijte REPLACE Pokud chcete nahradit všechny výskyty podřetězce v daném řetězci. V našem příkladu nahrazujeme zbytečné mezery prázdnými hodnotami.

Tato funkce má tři argumenty. Následující text ilustruje syntaxi funkce:

REPLACE(string_expression, substring, new_substring)

První argument je řetězec, který bychom chtěli upravit. Druhý argument je podřetězec, který má být nahrazen, a třetí argument je řetězec, který chceme použít místo nahrazeného podřetězce. V našem příkladu odstraníme nežádoucí mezery, ale funkci lze použít k mnoha účelům. Můžeme například chtít vyčistit a standardizovat sloupec telefonních čísel. Můžeme použít REPLACE funkce k tomu.

Pokud chcete z daného řetězce odstranit více než jeden znak, stačí vnořit REPLACE fungovat podruhé. Pokud máte například řetězec se zbytečnými mezerami a pomlčkami, můžete použít následující syntaxi:

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

Pamatujte, že argumenty této funkce v MySQL rozlišují velká a malá písmena, takže buďte opatrní s písmeny.


  1. SQL AVG() pro začátečníky

  2. Proč mysqli vydává příkazy mimo synchronizaci?

  3. Jak vytvořit jedinečné omezení pro více sloupců v SQL Server - SQL Server / TSQL výukový program, část 96

  4. Výkon SQL JOIN vs IN?