Oracle Decompose

Oracle Decompose



Το Unicode είναι ένα από τα πιο επιδραστικά και ισχυρά πρότυπα κωδικοποίησης στον κόσμο της ανάπτυξης. Το Unicode αντιπροσωπεύει χαρακτήρες από σχεδόν όλες τις γλώσσες κωδικοποιώντας τους χαρακτήρες σε έναν ακέραιο κωδικό μεταξύ 0 και 0x10ffff.

Λόγω της ευελιξίας των βάσεων δεδομένων, κάθε τόσο θα βρεθείτε να μετατρέπετε μια συμβολοσειρά στην αναπαράστασή της στο Unicode.







Σε αυτό το σεμινάριο, θα μάθετε πώς να χρησιμοποιείτε τη συνάρτηση decompose() των βάσεων δεδομένων της Oracle για να μετατρέψετε ένα δεδομένο στην αναπαράσταση Unicode του.



Oracle Decompose Function Σύνταξη

Η σύνταξη της συνάρτησης είναι όπως φαίνεται παρακάτω:



DECOMPOSE( συμβολοσειρά [, { 'CANONICAL' | 'COMPATIBILITY' } ] )

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





  1. Σειρά – αυτό αντιπροσωπεύει τη συμβολοσειρά που θα μετατραπεί σε σύνθεση Unicode. Η τιμή αυτής της παραμέτρου μπορεί να είναι CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB και NCLOB.
  2. ΚΑΝΟΝΙΚΟΣ – η ρύθμιση της τιμής σε κανονική επιτρέπει στη συνάρτηση να εκτελέσει μια κανονική αποσύνθεση που επιτρέπει την επανασύνθεση στην αρχική συμβολοσειρά. Εάν δεν έχει καθοριστεί, η συνάρτηση θα χρησιμοποιήσει αυτήν την παράμετρο από προεπιλογή.
  3. ΣΥΜΒΑΤΟΤΗΤΑ – εάν η τιμή έχει οριστεί σε συμβατότητα, η συνάρτηση θα εκτελέσει την αποσύνθεση σε λειτουργία συμβατότητας. Αυτή η λειτουργία δεν επιτρέπει την ανασύνθεση στην αρχική συμβολοσειρά. Χρησιμοποιήστε αυτήν την επιλογή κατά την αποσύνθεση χαρακτήρων katakana μισού πλάτους και πλήρους πλάτους.

Καλό είναι να έχετε κατά νου ότι οι τύποι CLOB και NCLOB υποστηρίζονται μέσω ρητής μετατροπής.

Παράδειγμα χρήσης συνάρτησης

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



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

Ο παρακάτω απλός κώδικας δείχνει πώς να χρησιμοποιήσετε τη συνάρτηση αποσύνθεσης για να αποσυνθέσετε μια συμβολοσειρά στην αναπαράστασή της στο Unicode.

επιλέξτε decompose('Hello') ως έξοδο από το dual.

Η εκτέλεση του παραπάνω κώδικα θα πρέπει να επιστρέψει τη συμβολοσειρά εξόδου ως:

Παράδειγμα 2 – Λήψη του κωδικού ASCII

Για να ανακτήσουμε τις ακέραιες τιμές Unicode, μπορούμε να περάσουμε τη συμβολοσειρά που προκύπτει στη συνάρτηση asciistr όπως φαίνεται στο παρακάτω παράδειγμα:

επιλέξτε asciistr(decompose('你好')) ως έξοδο από το dual;

Παραγωγή:

Παράδειγμα 3 – Χρήση της συνάρτησης με χαρακτήρες που δεν είναι Unicode

Εάν παρέχουμε στη συνάρτηση χαρακτήρες που δεν είναι Unicode, η συνάρτηση θα επιστρέψει τη συμβολοσειρά εισόδου χωρίς καμία τροποποίηση.

Ένα παράδειγμα επίδειξης είναι όπως φαίνεται:

επιλέξτε το decompose('l') ως έξοδο από το dual.

Αποτέλεσμα:

Η ίδια περίπτωση ισχύει ακόμη και όταν χρησιμοποιείτε τη λειτουργία asciistr.

επιλέξτε asciistr(('l')) ως έξοδο από το dual.

Παραγωγή:

Παράδειγμα 4 – Χρήση της συνάρτησης με όρισμα NULL

Η συνάρτηση θα επιστρέψει μια τιμή NULL εάν η τιμή εισόδου είναι NULL.

Παράδειγμα:

επιλέξτε (NULL) ως έξοδο από το dual.

Παραγωγή:

Παράδειγμα 5 – Κλήση της συνάρτησης με παραμέτρους που λείπουν

Απαιτείται η παράμετρος συμβολοσειράς στη συνάρτηση. Επομένως, εάν δεν καταφέρουμε να περάσουμε την τιμή συμβολοσειράς, η συνάρτηση θα επιστρέψει ένα σφάλμα όπως φαίνεται:

επιλέξτε () ως έξοδο από το dual.

Αποτέλεσμα:

Σφάλμα SQL: ORA-00938: δεν υπάρχουν αρκετά ορίσματα για τη συνάρτηση
00938. 00000 -  'δεν υπάρχουν αρκετά ορίσματα για συνάρτηση'

συμπέρασμα

Σε αυτό το σεμινάριο, μάθατε πώς να χρησιμοποιείτε τη συνάρτηση decompose() της Oracle για να μετατρέψετε μια συμβολοσειρά στην αναπαράστασή της στο Unicode.