Λειτουργία αντικατάστασης Oracle

Leitourgia Antikatastases Oracle



Σε αυτό το σεμινάριο, θα μάθουμε πώς να χρησιμοποιούμε τη συνάρτηση replace() στην Oracle για να αντικαταστήσουμε όλες τις εμφανίσεις μιας υποσυμβολοσειράς με ένα άλλο σύνολο χαρακτήρων.

Σύνταξη συνάρτησης Oracle Replace().

Ο ακόλουθος κώδικας δείχνει τη σύνταξη της συνάρτησης replace():







ΑΝΤΙΚΑΘΙΣΤΩ ( πηγή_συμβολοσειρά, υποσυμβολοσειρά, αντικατάσταση_συμβολοσειρά ) ;



Η συνάρτηση δέχεται τρεις παραμέτρους:



  1. source_string – ορίζει τη συμβολοσειρά πηγής προς αναζήτηση.
  2. Substring – ορίζει την υποσυμβολοσειρά που πρόκειται να αντικατασταθεί.
  3. Αντικατάσταση_συμβολοσειράς – καθορίζει τη συμβολοσειρά ή το σύνολο χαρακτήρων που αντικαθίστανται στη θέση της υποσυμβολοσειράς. Αυτή είναι μια προαιρετική παράμετρος. Εάν λείπει η τιμή της παραμέτρουplacement_string, η συνάρτηση αφαιρεί όλες τις εμφανίσεις της υποσυμβολοσειράς από τη συμβολοσειρά πηγής.

Ομοίως, εάν η υποσυμβολοσειρά είναι κενή, η συνάρτηση δεν κάνει τίποτα και επιστρέφει το source_string.





Η συνάρτηση επιστρέφει έναν τύπο συμβολοσειράς με όλες τις εμφανίσεις της υποσυμβολοσειράς να έχουν αντικατασταθεί με το replacement_string.

Παραδείγματα συνάρτησης Oracle Replace().

Τα ακόλουθα παραδείγματα δείχνουν πώς συμπεριφέρεται η συνάρτηση υπό διάφορες παραμέτρους και τύπους εισόδου:



Παράδειγμα 1 – Αντικατάσταση εμφάνισης υποσυμβολοσειράς

Το παρακάτω παράδειγμα δείχνει την κύρια χρήση της συνάρτησης replace() με όλες τις παραμέτρους εισόδου που παρέχονται.

επιλέγω αντικαθιστώ ( 'Ανάπτυξη βάσης δεδομένων Oracle' , 'ab' , 'xy' ) Το AS αντικαταστάθηκε
απο διπλο?

Το παραπάνω ερώτημα χρησιμοποιεί τη συνάρτηση replace() για να αντικαταστήσει τους χαρακτήρες (ab) με (xy). Προκύπτουσα έξοδος:

ΑΝΤΙΚΑΤΑΣΤΑΘΗΚΕ |
---------------------------+
Ανάπτυξη της Oracle datxyase |

Παράδειγμα 2 – Χρήση της συνάρτησης αντικατάστασης για την αφαίρεση μιας υποσυμβολοσειράς

Όπως αναφέρθηκε, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση replace() για να αφαιρέσουμε μια υποσυμβολοσειρά από τη συμβολοσειρά πηγής. Αυτό συμβαίνει όταν δεν παρέχουμε την τιμή από την υποσυμβολοσειρά όπως φαίνεται:

SELECT αντικαταστήστε ( 'https://linuxhint.com' , 'https://' ) AS d ΑΠΟ διπλό?

Αποτέλεσμα:

ρε |
-------------+
linuxhint.com |

Παράδειγμα 3 – Αντικατάσταση τιμών σε πίνακα

Συχνά χρησιμοποιούμε τη συνάρτηση replace() για να αντικαταστήσουμε τιμές σε έναν πίνακα βάσης δεδομένων. Πάρτε το παράδειγμα του πίνακα που φαίνεται:

δημιουργία πίνακα δείγματος_δεδομένων
(
ταυτότητα αριθμός,
first_name  varchar2 ( πενήντα ) ,
ip_address  varchar2 ( είκοσι ) ,
btc_address varchar2 ( πενήντα ) ,
πιστωτική_κάρτα varchar2 ( πενήντα ) ,
αναγνωριστικό  varchar2 ( 40 ) ,
περιορισμός sample_pk πρωτεύον κλειδί ( ταυτότητα )
) ;
εισαγωγή στο sample_data ( ταυτότητα , first_name, ip_address, btc_address, credit_card, identifier )
αξίες ( έντεκα , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
εισαγωγή στο sample_data ( ταυτότητα , first_name, ip_address, btc_address, credit_card, identifier )
αξίες ( 12 , 'Ιαν' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
εισαγωγή στο sample_data ( ταυτότητα , first_name, ip_address, btc_address, credit_card, identifier )
αξίες ( 13 , 'Πάσχα' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;

Δήλωση πριν από την ενημέρωση:

SELECT FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd.

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση replace() για να αντικαταστήσουμε όλες τις εμφανίσεις του 4 στη στήλη πιστωτική_κάρτα με ένα 5.

ΕΝΗΜΕΡΩΣΗ ΣΕΤ ΔΕΙΓΜΑΤΟΣ_ΔΕΔΟΜΕΝΩΝ CREDIT_CARD = ΑΝΤΙΚΑΤΑΣΤΑΣΗ ( ΠΙΣΤΩΤΙΚΗ ΚΑΡΤΑ, '4' , '5' ) ;

Μετά τη δήλωση ενημέρωσης:

Στον πίνακα που προκύπτει, μπορούμε να επαληθεύσουμε ότι οι τιμές στις στήλες της πιστωτικής_κάρτας έχουν αντικατασταθεί από το 4 στο 5.

συμπέρασμα

Μέσα από αυτό το σεμινάριο, κατανοήσατε τη λειτουργία της συνάρτησης replace() στις βάσεις δεδομένων της Oracle.