Oracle-vervangfunctie

Oracle Vervangfunctie



In deze tutorial gaan we leren hoe we de functie replace() in Oracle kunnen gebruiken om alle exemplaren van een substring te vervangen door een andere set tekens.

Oracle Vervang() Functiesyntaxis

De volgende code toont de syntaxis van de functie replace():







VERVANGEN ( source_string, substring, vervangende_string ) ;



De functie accepteert drie parameters:



  1. source_string – definieert de brontekenreeks die moet worden doorzocht.
  2. Subtekenreeks – definieert de subtekenreeks die moet worden vervangen.
  3. vervangende_tekenreeks - bepaalt de tekenreeks of reeks tekens die worden vervangen in de plaats van de subtekenreeks. Dit is een optionele parameter. Als de waarde van de parameter replacement_string ontbreekt, verwijdert de functie alle exemplaren van de subtekenreeks uit de brontekenreeks.

Evenzo, als de substring leeg is, doet de functie niets en retourneert de source_string.





De functie retourneert een tekenreekstype waarbij alle exemplaren van de subtekenreeks zijn vervangen door de vervangende_tekenreeks.

Voorbeelden van Oracle Replace()-functies

De volgende voorbeelden laten zien hoe de functie zich gedraagt ​​onder verschillende parameter- en invoertypen:



Voorbeeld 1 – Vervang Substring Occurrence

Het onderstaande voorbeeld illustreert het primaire gebruik van de functie replace() met alle opgegeven invoerparameters.

selecteren vervangen ( 'Oracle database ontwikkeling' , 'ab' , 'xy' ) ALS vervangen
van dubbel;

De bovenstaande query gebruikt de functie replace() om de tekens (ab) te vervangen door (xy). resulterende uitvoer:

VERVANGEN |
-----------+
Oracle datxyase-ontwikkeling |

Voorbeeld 2 – De functie Vervangen gebruiken om een ​​subtekenreeks te verwijderen

Zoals eerder vermeld, kunnen we de functie replace() gebruiken om een ​​subtekenreeks uit de brontekenreeks te verwijderen. Dit gebeurt wanneer we de waarde van de subtekenreeks niet leveren zoals weergegeven:

SELECTEER vervangen ( 'https://linuxhint.com' , 'https://' ) AS d VAN dubbel;

Resultaat:

D |
------------+
linuxhint.com |

Voorbeeld 3 – Vervang waarden in een tabel

We gebruiken vaak de functie replace() om waarden in een databasetabel te vervangen. Neem de getoonde voorbeeldtabel:

maak een tabel sample_data
(
ID kaart nummer,
voornaam varchar2 ( vijftig ) ,
ip_adres varchar2 ( twintig ) ,
btc_adres varchar2 ( vijftig ) ,
creditcard varchar2 ( vijftig ) ,
ID varchar2 ( 40 ) ,
beperking sample_pk primaire sleutel ( ID kaart )
) ;
invoegen in sample_data ( ID kaart , first_name, ip_address, btc_address, credit_card, identifier )
waarden ( elf , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
invoegen in sample_data ( ID kaart , first_name, ip_address, btc_address, credit_card, identifier )
waarden ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
invoegen in sample_data ( ID kaart , first_name, ip_address, btc_address, credit_card, identifier )
waarden ( 13 , 'Pasen' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;

Voor update verklaring:

SELECTEER FIRST_NAME, IP_ADDRESS, CREDIT_CARD VAN SAMPLE_DATA sd;

We kunnen de functie replace() gebruiken om alle voorkomens van 4 in de kolom creditcard_card te vervangen door een 5.

UPDATE SAMPLE_DATA SET CREDIT_CARD = VERVANGEN ( KREDIETKAART, '4' , '5' ) ;

Na de updateverklaring:

In de resulterende tabel kunnen we controleren of de waarden in de kolommen credit_card zijn vervangen van 4 naar 5.

Gevolgtrekking

Door deze tutorial heb je de werking van de functie replace() in Oracle-databases begrepen.