sql >> Databasteknik >  >> RDS >> SQLite

Hur Replace() fungerar i SQLite

SQLite replace() funktion gör det möjligt för oss att ersätta en sträng (eller del av en sträng) med en annan sträng.

Hur det fungerar är att du ger tre argument; strängen som innehåller delsträngen som ska ersättas, delsträngen inom den strängen som ska ersättas och strängen som ska ersättas med.

Syntax

Syntaxen ser ut så här:

replace(X,Y,Z)

Funktionen returnerar en sträng som bildas genom att ersätta sträng Z för varje förekomst av sträng Y i sträng X.

Den BINÄRA sammanställningssekvensen används för jämförelser. Om Y är en tom sträng, returnera X oförändrat. Om Z från början inte är en sträng, castas den till en UTF-8-sträng innan bearbetning.

Exempel

Här är ett enkelt exempel att visa.

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

Resultat:

Blue Sky

Om det andra argumentet inte hittas i det första argumentet ersätts ingenting och den ursprungliga strängen returneras.

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

Resultat:

Red Sky

Om det andra argumentet är en tom sträng ersätts ingenting och den ursprungliga strängen returneras.

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

Resultat:

Red Sky

Men detsamma kan inte sägas om det tredje argumentet. Om det är en tom sträng (och det andra argumentet finns i det första argumentet) tar det bort det andra argumentet från strängen.

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

Resultat:

 Sky

Detta kommer dock inte att hända om det andra argumentet inte hittas i strängen.

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

Resultat:

Red Sky

Ersätter med en icke-sträng

Om det tredje argumentet inte är en sträng, castas det till en UTF-8-sträng innan bearbetning.

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

Resultat:

8 Sky

Databasexempel

Här är ett exempel som tar data från en databastabell och ersätter en given sträng/delsträng med en annan sträng.

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

Resultat:

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

  1. UnsatisfiedLinkError i ursprunglig metod

  2. FieldShield SDK

  3. Mac OS X - EnvironmentError:mysql_config hittades inte

  4. Sorterar nollvärden efter alla andra, utom speciella