Αυτό το σεμινάριο θα σας δείξει πώς να χρησιμοποιήσετε τη συνάρτηση to_date για να μετατρέψετε μια δεδομένη συμβολοσειρά εισόδου σε τύπο δεδομένων ημερομηνίας.
Συνάρτηση Orale to_date().
Η συνάρτηση to_date() στο Oracle σάς επιτρέπει να μεταφέρετε μια δεδομένη ημερομηνία συμβολοσειράς κυριολεκτικά σε έναν τύπο ημερομηνίας.
Η σύνταξη της συνάρτησης:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
Η συνάρτηση δέχεται τρία κύρια ορίσματα:
- Το πρώτο όρισμα είναι το char, το οποίο ορίζει τη συμβολοσειρά ημερομηνίας εισόδου. Η τιμή εισόδου μπορεί να είναι CHAR, VARCHAR2, NCHAR ή NVARCHAR2.
- fmt – Η δεύτερη παράμετρος είναι fmt. Αυτή η παράμετρος καθορίζει τη μορφή μοντέλου ημερομηνίας της τιμής εισόδου. Μπορείτε να παραλείψετε αυτήν την παράμετρο εάν η τιμή εισόδου ακολουθεί την προεπιλεγμένη μορφή ΗΗ-ΔΕΥ-ΕΕ, για παράδειγμα, 01-ΙΑΝ-2022.
Εάν η μορφή είναι Julian, που αντιπροσωπεύεται ως J, τότε η τιμή εισόδου πρέπει να είναι ακέραιος τύπος.
Η τιμή εισόδου μπορεί να συμπεριληφθεί στις ακόλουθες μορφές:
- nlsparam – Τέλος, η παράμετρος nlsparam χρησιμοποιείται για τον καθορισμό της γλώσσας για τα δεδομένα και τον μήνα στη συμβολοσειρά. Η μορφή είναι NLS_DATE_FORMAT = γλώσσα. Η Oracle θα είναι προεπιλεγμένη στην προεπιλεγμένη γλώσσα της συνεδρίας σας.
Παράδειγμα χρήσης συνάρτησης
Τα παρακάτω είναι παραδείγματα της συνάρτησης to_date στη βάση δεδομένων Oracle:
Παράδειγμα 1 – Βασική μετατροπή
Το παρακάτω παράδειγμα δείχνει πώς να χρησιμοποιήσετε τη συνάρτηση to_date για να μετατρέψετε μια δεδομένη συμβολοσειρά χαρακτήρων σε ημερομηνία.
select to_date('10 Ιανουαρίου 2023', 'Ηη μήνας, ΕΕΕΕ')απο διπλο?
Σε αυτήν την περίπτωση, μετατρέπουμε τη δεδομένη συμβολοσειρά ημερομηνίας σε τύπο ημερομηνίας χρησιμοποιώντας τη μορφή ηη μήνα, ΕΕΕΕ.
Η τιμή που προκύπτει εμφανίζεται:
TO_DATE('JANUARY102023','MONTHDD,YYYY')2023-01-10
Παράδειγμα 2 – Μετατροπή τύπου ημερομηνίας και ώρας σε ημερομηνία
Το δεύτερο παράδειγμα δείχνει πώς να μετατρέψετε μια δεδομένη συμβολοσειρά χαρακτήρων σε ημερομηνία.
επιλέξτε έως_ημερομηνία('10 Ιανουαρίου 2023, 1:03', 'Ηη μήνας, ΕΕΕΕ, ΩΩ:ΜΜ Μ.Μ.')
από διπλό;[/cc]
Σε αυτήν την περίπτωση, πρέπει να καθορίσουμε τη μορφή ώρας ως HH:MI P.M.
Η έξοδος που προκύπτει είναι όπως φαίνεται:
TO_DATE('ΙΑΝΟΥΑΡΙΟΥ10,2023,1:03','ΜΗΝΗΗ,ΕΕΕΕ,ΩΩ:ΜΠ.Μ.')2023-01-10 01:03:00
Παράδειγμα 3 – Καθορισμός της παραμέτρου γλώσσας
Εξετάστε το παρακάτω παράδειγμα που δείχνει πώς να χρησιμοποιήσετε τη συνάρτηση to_date με την παράμετρο nls_date_language.
select to_date('10 Ιανουαρίου 2023, 1:03', 'Ηη μήνας, ΕΕΕΕ, ΩΩ:ΜΜ.', 'nls_date_language=American')απο διπλο?
Αυτό θα πρέπει να επιστρέψει την τιμή:
2023-01-10 01:03:00Μόλις αλλάξουμε τη γλώσσα της συνεδρίας ως:
alter session set nls_territory = 'Αυστραλία';Μετατρέψτε την ώρα.
select to_date('10 Ιανουαρίου 2023, 1:03', 'Ηη μήνας, ΕΕΕΕ, ΩΩ:ΜΜ.', 'nls_date_language=American')απο διπλο?
συμπέρασμα
Σε αυτήν την ανάρτηση, διερευνούμε τη χρήση της συνάρτησης to_date στη βάση δεδομένων Oracle για τη μετατροπή μιας δεδομένης ημερομηνίας εισαγωγής κυριολεκτικά σε τύπο ημερομηνίας.