Problem:
Chcesz posortować wyniki zapytania SQL w kolejności rosnącej lub malejącej.
Przykład:
Nasza baza danych zawiera tabelę o nazwie customer_information
z danymi w kolumnach id
, first_name
, last_name
i email_address
. Adresy e-mail zostały wpisane przez użytkowników ręcznie, a niektóre zostały przypadkowo wpisane ze zbędnymi spacjami. Chcesz usunąć spacje z adresów e-mail.
id | imię | nazwisko | adres_e-mail |
---|---|---|---|
1 | Kalwin | Rios | [email protected] |
2 | Alan | Paterson | al an.paterson@ example.com |
3 | Kurt | Evans | [email protected] |
4 | Alek | Watkins | Alex. [email protected]
Rozwiązanie:
Użyjemy REPLACE
funkcjonować. Oto zapytanie:
SELECT first_name, last_name, REPLACE(email_address, " ", "") AS correct_email_address FROM customer_information;
Oto wynik zapytania:
imię | nazwisko | adres_e-mail |
---|---|---|
Kalwin | Rios | [email protected] |
Alan | Paterson | [email protected] |
Kurt | Evans | [email protected] |
Alek | Watkins | [email protected] |
Dyskusja:
Użyj REPLACE
funkcja, jeśli chcesz zastąpić wszystkie wystąpienia podciągu w danym ciągu. W naszym przykładzie zastępujemy niepotrzebne spacje pustymi wartościami.
Ta funkcja przyjmuje trzy argumenty. Poniżej zilustrowano składnię funkcji:
REPLACE(string_expression, substring, new_substring)
Pierwszym argumentem jest ciąg, który chcielibyśmy zmodyfikować. Drugim argumentem jest podciąg, który ma zostać zastąpiony, a trzecim jest ciąg, którego chcemy użyć zamiast zastępowanego podciągu. W naszym przykładzie usuwamy niechciane spacje, ale funkcję można wykorzystać do wielu celów. Na przykład możemy chcieć wyczyścić i ujednolicić kolumnę numerów telefonów. Możemy użyć REPLACE
funkcja, aby to zrobić.
Jeśli chcesz usunąć więcej niż jeden znak z danego ciągu, po prostu zagnieżdż REPLACE
funkcjonować po raz drugi. Na przykład, jeśli masz ciąg znaków z niepotrzebnymi spacjami i myślnikami, możesz użyć następującej składni:
REPLACE(REPLACE(string_expression, " ", ""), "-", "")
Pamiętaj, że argumenty tej funkcji w MySQL rozróżniają wielkość liter, więc uważaj na litery.