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 | rios.calvin@example.com |
| 2 | Alan | Paterson | al an.paterson@ example.com |
| 3 | Kurt | Evans | kurt.evans@example.com |
| 4 | Alek | Watkins | Alex. watkins@example.com
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 | rios.calvin@example.com |
| Alan | Paterson | alan.paterson@example.com |
| Kurt | Evans | kurt.evans@example.com |
| Alek | Watkins | alex.watkins@example.com |
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.