Tutorial ini akan menunjukkan kepada anda cara menggunakan fungsi to_date untuk menukar rentetan input yang diberikan kepada jenis data tarikh.
Fungsi Orale to_date().
Fungsi to_date() dalam Oracle membolehkan anda menghantar literal tarikh rentetan yang diberikan ke dalam jenis tarikh.
Sintaks fungsi:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
Fungsi ini menerima tiga hujah utama:
- Argumen pertama ialah char, yang mentakrifkan rentetan tarikh input. Nilai input boleh CHAR, VARCHAR2, NCHAR atau NVARCHAR2.
- fmt - Parameter kedua ialah fmt. Parameter ini mentakrifkan format model datetime bagi nilai input. Anda boleh melangkau parameter ini jika nilai input mengikut format lalai DD-MON-YY, contohnya, 01-JAN-2022.
Jika formatnya ialah Julian, diwakili sebagai J, maka nilai input mestilah jenis integer.
Nilai input boleh merangkumi dalam format berikut:
- nlparam – Akhir sekali, parameter nlparam digunakan untuk menentukan bahasa untuk data dan bulan dalam rentetan. Formatnya ialah NLS_DATE_FORMAT = bahasa. Oracle akan lalai kepada bahasa lalai sesi anda.
Contoh Penggunaan Fungsi
Berikut ialah contoh fungsi to_date dalam pangkalan data Oracle:
Contoh 1 – Penukaran Asas
Contoh di bawah menunjukkan cara menggunakan fungsi to_date untuk menukar rentetan aksara yang diberikan kepada tarikh.
pilih to_date('10 Januari 2023', 'Bulan hb, YYYY')daripada dual;
Dalam kes ini, kami menukar rentetan tarikh yang diberikan kepada jenis tarikh menggunakan format hb Bulan, YYYY.
Nilai yang terhasil ditunjukkan:
TO_DATE('JANUARI102023','MONTHDD,YYYY')10-01-2023
Contoh 2 – Tukar Tarikh dan Masa kepada Jenis Tarikh
Contoh kedua menggambarkan cara menukar rentetan aksara yang diberikan kepada tarikh.
pilih to_date('10 Januari 2023, 1:03', 'Bulan hb, TTTT, HH:MI P.M.')
daripada dual;[/cc]
Dalam kes ini, kita perlu menentukan format masa sebagai HH:MI P.M.
Output yang terhasil adalah seperti yang ditunjukkan:
TO_DATE('JANUARI10,2023,1:03','MONTHDD,YYYY,HH:MIP.M.')10-01-2023 01:03:00
Contoh 3 – Menentukan Parameter Bahasa
Pertimbangkan contoh di bawah yang menunjukkan cara menggunakan fungsi to_date dengan parameter nls_date_language.
pilih to_date('Januari 10, 2023, 1:03', 'Bulan hb, YYYY, HH:MI P.M.', 'nls_date_language=Amerika')daripada dual;
Ini harus mengembalikan nilai:
10-01-2023 01:03:00Sebaik sahaja kami menukar bahasa sesi sebagai:
alter session set nls_territory = 'Australia';Tukarkan masa.
pilih to_date('Januari 10, 2023, 1:03', 'Bulan hb, YYYY, HH:MI P.M.', 'nls_date_language=Amerika')daripada dual;
Kesimpulan
Dalam siaran ini, kami meneroka penggunaan fungsi to_date dalam pangkalan data Oracle untuk menukar literal tarikh input yang diberikan kepada jenis tarikh.