Jenis data Oracle termasuk: 1. Jenis rentetan, char dan varchar2, yang boleh menyatakan sebarang rentetan 2. Jenis angka, nombor(m,n), boleh menyatakan sebarang nombor 3. Jenis tarikh, tarikh, menyimpan tarikh dan masa; Jenis data lain.
Persekitaran pengendalian artikel ini: Sistem Windows 10, Oracle versi 19c, komputer dell g3.
Jenis data Oracle termasuk yang berikut:
1 Jenis rentetan: char dan varchar2, yang boleh menyatakan sebarang rentetan.
2. Jenis nombor: nombor(m,n), yang boleh menyatakan sebarang nombor m ialah jumlah panjang nombor, n ialah bilangan digit selepas titik perpuluhan bermakna ia adalah integer.
3 Jenis tarikh: tarikh, yang menyimpan tarikh dan masa, termasuk tahun (yyyy), bulan (mm), hari (dd), jam (hh24), minit (bt) dan saat (ss) .
4. Jenis Clob, yang menyimpan data rentetan satu bait atau berbilang bait, seperti fail teks dan fail xml.
5. Jenis gumpalan, yang menyimpan data binari tidak berstruktur, seperti gambar, audio, video, dokumen pejabat, dsb.
6. Jenis Rowid, yang menyimpan alamat fizikal yang direkodkan dalam pangkalan data dalam jadual.
7. Jenis data lain.
1. Jenis rentetan
digunakan dalam bahasa C/C++ disertakan dalam petikan berganda dalam pangkalan data Oracle, ia adalah sebagai berikut:
'www.freecplus.net'
'Pengekod ada jalan'
'Burung bodoh'
1 , Panjang tetap rentetan
Rentetan panjang tetap diwakili oleh char Apabila panjang kandungan data yang disimpan tidak mencukupi, Oracle akan mengisi ruang secara automatik selepas kandungan data untuk mencapai panjang tetapnya, seperti char(10 ) sentiasa mengandungi 10 bait maklumat.
Medan char boleh menyimpan sehingga 2000 bait kandungan.
2. Rentetan panjang boleh ubah
Rentetan panjang boleh ubah diwakili oleh varchar2 Tidak seperti jenis aksara, Oracle tidak akan mengisi apa-apa selepas kandungan data.
Medan varchar2 boleh menyimpan sehingga 4000 bait kandungan Bermula dari Oracle versi 12c, ia boleh menyimpan 32767 bait kandungan.
3. Perbandingan char dan varchar2
char(10), jika disimpan dalam 'freecplus', 'freecplus' akan disimpan dalam pangkalan data, dengan ruang ditambah pada penghujungnya.
varchar2(10), jika disimpan dalam 'freecplus', 'freecplus' akan disimpan dalam pangkalan data dan tiada apa yang akan ditambahkan.
Dalam aplikasi praktikal, kami tidak mahu Oracle menambah ruang selepas rentetan, jadi bolehkah jenis char itu ditinggalkan? Tidak, kami biasanya menggunakan jenis char untuk menyimpan kandungan data bersaiz tetap, seperti nombor ID, yang sentiasa 18 bit, jadi char(18) sangat sesuai bolehkah saya menggunakan varchar2(18) untuk menyimpan nombor ID? Sudah tentu anda boleh, tetapi kecekapan char(18) jauh lebih tinggi daripada varchar2(18).
Untuk meringkaskan, jika anda pasti, pasti, pasti dan terjamin bahawa panjang rentetan yang disimpan adalah tetap, seperti jantina, nombor ID, nombor telefon bimbit, gunakan jenis char, jika tidak gunakan jenis varchar2, seperti nama, pendidikan, alamat, hobi, dll. Walaupun char adalah tegar, ia adalah cekap.
4. Penyimpanan aksara Cina
Berapa banyak bait yang diduduki oleh setiap aksara Cina bergantung pada kaedah pengekodan tertentu, seperti UTF-8 (1-3 bait), GB2312 (2 bait), GBK (2 bait), GB18030 (1, 2, 4 bait).
2. Jenis nombor
Oracle menggunakan jenis nombor untuk menyimpan nombor sehingga 38 digit ketepatan, yang jauh lebih tinggi daripada panjang konvensional dalam bahasa pengaturcaraan int dan jenis berganda.
nombor(m,n), m mewakili jumlah panjang, n mewakili ketepatan tempat perpuluhan Jika ketepatan tempat perpuluhan data yang disimpan melebihi n, nilai bulat akan diambil.
Contohnya: nombor(10,3), 10 ialah jumlah panjang, 3 ialah bilangan digit selepas perpuluhan, seperti 123.456.
Jika anda mendepositkan 123.4567, jumlah sebenar ialah 123.457.
Jika anda mendepositkan 12345679.899 dan jumlah panjang melebihi 10, Oracle akan menggesa ralat.
Jika anda bercadang untuk menyimpan integer, hanya gunakan nombor(m) mewakili bilangan maksimum digit yang boleh disimpan dalam data.
3 Jenis tarikh
Oracle menggunakan jenis tarikh untuk mewakili tarikh dan masa Ini ialah jenis data lebar tetap 7 bait, termasuk : abad, tahun dalam abad, bulan, hari dalam bulan, jam, minit dan saat.
Dalam bahasa pengaturcaraan, tarikh dan masa dipaparkan dan ditulis menggunakan rentetan Oracle menyediakan dua fungsi, to_date dan to_char, untuk menukar antara jenis tarikh dan jenis rentetan.
Contohnya:
insert into T_GIRL(name,birthday) values('西施',to_date('2000-01-01 01:12:35','yyyy-mm-dd hh24:mi:ss')); select name,to_char(birthday,'yyyy-mm-dd hh24:mi:ss') from T_GIRL where name='西施';
4 Jenis gumpalan dan gumpalan
jenis gumpalan, objek besar rentetan panjang berubah-ubah, sehingga 4GB, A gumpalan boleh menyimpan data rentetan bait tunggal atau rentetan berbilang bait, dan gumpalan dianggap rentetan yang lebih besar. Apabila set aksara pangkalan data ditukar, jenis gumpalan terjejas.
Jenis gumpalan, objek besar perduaan panjang berubah-ubah, panjang sehingga 4GB Gumpalan digunakan terutamanya untuk menyimpan data tidak berstruktur yang diformatkan, seperti gambar, audio, video, dokumen Pejabat, dsb. Apabila set aksara pangkalan data ditukar, jenis gumpalan tidak terjejas, dan Pangkalan Data Oracle tidak peduli kandungan yang disimpan.
5. Jenis Rowid
Setiap baris rekod dalam setiap jadual dalam pangkalan data Oracle mempunyai lokasi fizikal storan, iaitu, lajur pseudo rowid jadual, menggunakan rowid sebagai The where condition mempunyai kecekapan capaian tertinggi.
Walaupun rowid mempunyai kecekapan akses tertinggi, anda mesti berhati-hati dalam aplikasi praktikal dan memberi perhatian kepada dua isu:
1) rowid menyimpan lokasi fizikal rekod jadual dalam data Semasa organisasi , sandaran dan pemindahan data, lokasi fizikal rekod akan berubah;
2) rowid ialah jenis data eksklusif untuk pangkalan data Oracle dan tidak serasi dengan pangkalan data lain.
6. Jenis data lain
Dalam kandungan di atas, jenis data yang paling biasa digunakan dalam Oracle diperkenalkan, yang boleh memenuhi lebih daripada 99% senario aplikasi.
Oracle menyediakan 22 jenis data SQL yang berbeza mungkin tidak praktikal, tetapi saya masih menyenaraikan semuanya supaya anda boleh memahaminya tanpa mendalaminya. Dalam dua puluh tahun, saya tidak pernah menggunakan mana-mana jenis data lain.
char: rentetan panjang tetap, berlapik dengan ruang untuk mencapai panjang maksimum. Achar(10) bukan null mengandungi 10 bait maklumat. Medan char boleh menyimpan sehingga 2000 bait maklumat.
nchar: Rentetan panjang tetap yang mengandungi data format unikod. medan nchar boleh menyimpan sehingga 2000 bait maklumat.
varchar2: Ia adalah sinonim untuk varchar. Ini ialah rentetan panjang pembolehubah yang, tidak seperti jenis aksara, tidak mengepad medan atau pembolehubah kepada panjang maksimum dengan ruang. varchar(10) mungkin mengandungi 0~10 bait maklumat dan boleh menyimpan sehingga 4000 bait maklumat. Bermula dari 12c, 32767 bait maklumat boleh disimpan.
nvarchar2: Rentetan panjang boleh ubah yang mengandungi data format unikod. Boleh menyimpan sehingga 4000 bait maklumat. Bermula dari 12c, 32767 bait maklumat boleh disimpan.
mentah: Jenis data perduaan panjang berubah Data yang disimpan dalam jenis data ini tidak akan mengalami penukaran set aksara.
nombor: Boleh menyimpan nombor dengan ketepatan sehingga 38 digit. Jenis data ini akan disimpan dalam format panjang berubah-ubah, dengan panjang antara 0 hingga 22 bait.
binary_float: nombor titik terapung ketepatan tunggal 32-bit, yang boleh menyokong sekurang-kurangnya 6 digit ketepatan dan menduduki 5 bait ruang storan pada cakera.
binary_double: nombor titik terapung berketepatan dua kali 64-bit, yang boleh menyokong sekurang-kurangnya 15 digit ketepatan dan menduduki 9 bait ruang storan pada cakera.
panjang: Jenis ini boleh menyimpan sehingga 2GB data aksara
mentah panjang: Jenis mentah panjang boleh menyimpan sehingga 2GB maklumat binari
tarikh: Ini adalah 7 Jenis data tarikh/masa lebar tetap dalam bait, yang mengandungi 7 atribut: abad, tahun dalam abad, bulan, hari dalam bulan, jam, minit dan saat.
cap masa: Ini ialah jenis data tarikh/masa lebar tetap 7 bait atau 11 bait yang mengandungi detik pecahan.
cap masa dengan zon waktu: Ini ialah cap masa 13-bait yang menyediakan sokongan zon waktu.
cap masa dengan zon waktu tempatan: Ini ialah jenis data tarikh/masa lebar tetap 7 bait atau 11 bait berlaku apabila data dimasukkan dan dibaca.
selang tahun ke bulan: Ini ialah jenis data lebar tetap 5 bait yang digunakan untuk menyimpan noktah.
selang hari ke saat: Ini ialah jenis data lebar tetap 11 bait yang digunakan untuk menyimpan noktah. Simpan tempoh sebagai hari/jam/minit/saat, secara pilihan dengan 9 saat pecahan.
blob: Jenis ini mampu menyimpan sehingga 4GB data.
clob: Jenis ini mampu menyimpan sehingga 4GB data. Jenis ini terjejas apabila set aksara ditukar.
nclob: Jenis ini mampu menyimpan sehingga 4GB data. Jenis ini terjejas apabila set aksara ditukar.
bfile: Jenis data ini boleh menyimpan objek direktori oracle dan nama fail dalam lajur pangkalan data, dan kita boleh membaca fail melaluinya.
rowid: Ia sebenarnya adalah alamat baris dalam jadual pangkalan data, panjangnya 10 bait.
urowid: Ia adalah rowid umum, tiada jadual rowid tetap.
Atas ialah kandungan terperinci Apakah jenis data Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!