SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak Replace() działa w SQLite

SQLite replace() funkcja umożliwia nam zastąpienie jednego ciągu (lub części ciągu) innym ciągiem.

Działa to tak, że podajesz trzy argumenty; ciąg, który zawiera podciąg do zastąpienia, podciąg w tym ciągu do zastąpienia i ciąg, którym należy go zastąpić.

Składnia

Składnia wygląda tak:

replace(X,Y,Z)

Funkcja zwraca ciąg utworzony przez podstawienie ciągu Z za każde wystąpienie ciągu Y w ciągu X.

Do porównań używana jest sekwencja zestawiania BINARNEGO. Jeśli Y jest pustym ciągiem, zwróć X bez zmian. Jeśli Z nie jest początkowo łańcuchem, jest rzutowany na łańcuch UTF-8 przed przetwarzaniem.

Przykład

Oto prosty przykład do zademonstrowania.

SELECT replace('Red Sky', 'Red', 'Blue');

Wynik:

Blue Sky

Jeśli drugi argument nie zostanie znaleziony w pierwszym argumencie, nic nie jest zastępowane i zwracany jest oryginalny ciąg.

SELECT replace('Red Sky', 'Green', 'Blue');

Wynik:

Red Sky

Jeśli drugi argument jest pustym ciągiem, to znowu nic nie jest zastępowane i zwracany jest oryginalny ciąg.

SELECT replace('Red Sky', '', 'Blue');

Wynik:

Red Sky

Ale tego samego nie można powiedzieć o trzecim argumencie. Jeśli jest to pusty ciąg (a drugi argument znajduje się w pierwszym argumencie), to usunie drugi argument z ciągu.

SELECT replace('Red Sky', 'Red', '');

Wynik:

 Sky

Jednak tak się nie stanie, jeśli drugi argument nie zostanie znaleziony w ciągu.

SELECT replace('Red Sky', 'Blue', '');

Wynik:

Red Sky

Zastępowanie nieciągiem

Jeśli trzeci argument nie jest łańcuchem, jest rzutowany na łańcuch UTF-8 przed przetwarzaniem.

SELECT replace('Red Sky', 'Red', 8);

Wynik:

8 Sky

Przykład bazy danych

Oto przykład, który pobiera dane z tabeli bazy danych i zastępuje dany ciąg/podciąg innym ciągiem.

SELECT 
  ProductName,
  replace(ProductName, 'Widget', 'Car')
FROM Products;

Wynik:

ProductName     replace(ProductName, 'Widget', 'Car')
--------------  -------------------------------------
Homer's Widget  Homer's Car                          
Peter's Widget  Peter's Car                          
Bob's Widget    Bob's Car                            

  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 stworzyć natywną aplikację na Androida działającą w trybie offline?

  2. Prawidłowy sposób obsługi dwukierunkowego 1:m w Green-DAO

  3. JSON_INSERT() vs JSON_SET() vs JSON_REPLACE() w SQLite

  4. Uncaught TypeError nie może wywołać metody „opendatabase” wtyczki undefined-SQLite z cordova 3.5

  5. SQLite zwrócił kod błędu 14