MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa REPLACE() w MariaDB

W MariaDB, REPLACE() jest wbudowaną funkcją ciągów znaków, która umożliwia zastąpienie części ciągu innym ciągiem.

Funkcja przyjmuje trzy argumenty:ciąg, podciąg do zastąpienia i ciąg do zastąpienia podciągu.

Składnia

Składnia wygląda tak:

REPLACE(str,from_str,to_str)

Gdzie str jest ciągiem, a from_str jest podciągiem do zastąpienia, a to_str jest ciągiem, którym należy zastąpić ten podciąg.

Przykład

Oto podstawowy przykład:

SELECT REPLACE('Black dog', 'dog', 'cat');

Wynik:

+------------------------------------+
| REPLACE('Black dog', 'dog', 'cat') |
+------------------------------------+
| Black cat                          |
+------------------------------------+

W tym przypadku zastąpiliśmy podciąg dog z cat .

Wiele meczów

Jeśli ciąg, który ma zostać zastąpiony, występuje wiele razy w ciągu, wszystkie wystąpienia są zastępowane:

SELECT REPLACE('Black dogs and white dogs', 'dog', 'cat');

Wynik:

+----------------------------------------------------+
| REPLACE('Black dogs and white dogs', 'dog', 'cat') |
+----------------------------------------------------+
| Black cats and white cats                          |
+----------------------------------------------------+

Brak dopasowania

Jeśli podciąg nie występuje w ciągu, REPLACE() zwraca ciąg niezmieniony:

SELECT REPLACE('Black dog', 'horse', 'cat');

Wynik:

+--------------------------------------+
| REPLACE('Black dog', 'horse', 'cat') |
+--------------------------------------+
| Black dog                            |
+--------------------------------------+

Wrażliwość na wielkość liter

REPLACE() funkcja wykonuje dopasowanie z uwzględnieniem wielkości liter:

SELECT REPLACE('Black dog', 'Dog', 'Cat');

Wynik:

+------------------------------------+
| REPLACE('Black dog', 'Dog', 'Cat') |
+------------------------------------+
| Black dog                          |
+------------------------------------+

W tym przykładzie obudowa nie pasowała, więc nic nie zostało zastąpione.

Puste ciągi

Oto, co się dzieje, gdy dla każdego podanego argumentu zostanie przekazany pusty ciąg:

SELECT 
    REPLACE('', 'dog', 'cat') AS "1",
    REPLACE('Black dog', '', 'cat') AS "2",
    REPLACE('Black dog', 'dog', '') AS "3";

Wynik:

+------+-----------+--------+
| 1    | 2         | 3      |
+------+-----------+--------+
|      | Black dog | Black  |
+------+-----------+--------+

Więc w tym przypadku:

  • Przekazanie pustego ciągu dla początkowego ciągu zwraca pusty ciąg.
  • Przekazanie pustego ciągu dla drugiego argumentu zwraca oryginalny ciąg.
  • Przekazanie pustego ciągu dla trzeciego argumentu usuwa ciąg, który ma zostać zastąpiony z ciągu.

Znak spacji

Pusty ciąg to nie to samo, co znak spacji.

Oto, co się dzieje, gdy zmieniamy pusty ciąg na spację:

SELECT 
    REPLACE(' ', 'dog', 'cat') AS "1",
    REPLACE('Black dog', ' ', 'cat') AS "2",
    REPLACE('Black dog', 'dog', ' ') AS "3";

Wynik:

+------+-------------+---------+
| 1    | 2           | 3       |
+------+-------------+---------+
|      | Blackcatdog | Black   |
+------+-------------+---------+

Dlatego jeśli ciąg jest tylko spacją, możemy go zastąpić innym ciągiem:

SELECT REPLACE(' ', ' ', 'cat');

Wynik:

+--------------------------+
| REPLACE(' ', ' ', 'cat') |
+--------------------------+
| cat                      |
+--------------------------+

Argumenty zerowe

Podanie null wyniki w null :

SELECT 
    REPLACE(null, 'dog', 'cat') AS "1",
    REPLACE('Black dog', null, 'cat') AS "2",
    REPLACE('Black dog', 'dog', null) AS "3";

Wynik:

+------+------+------+
| 1    | 2    | 3    |
+------+------+------+
| NULL | NULL | NULL |
+------+------+------+

Brakujący argument

Wywołanie REPLACE() z niewłaściwą liczbą argumentów lub bez przekazania jakichkolwiek argumentów powoduje błąd:

SELECT REPLACE();

Wynik:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak NOW() działa w MariaDB

  2. Jak wyświetlić wszystkie procedury składowane w MariaDB?

  3. Uprość zarządzanie kontami użytkowników dzięki MariaDB MaxScale 2.2 i MariaDB Server 10.3

  4. ClusterControl:wprowadzenie do nowego monitora zapytań

  5. Uruchamianie ProxySQL jako kontenera pomocniczego na Kubernetes