Langsung ke konten

Konversi Excel ke Oracle

Letakkan file Excel Anda untuk mendapatkan skrip Oracle dengan pernyataan CREATE TABLE dan INSERT. Setiap kolom diberi tipe, dan setiap perbaikan dicantumkan beserta baris dan kolomnya.

File Anda
xlsxclientes_2024.xlsxFile contoh, 7 kB
Database Anda

4 baris dikonversi, 10 perbaikan, tidak ada yang ditolak

Tampilkan
Baris pertama clientes_2024.xlsx, dengan setiap perbaikan ditandai
Baris
500127Peña Muñoz0123403/02/2024sí1.234,50
600128José Ángel0987015/02/2024noN/A
700129Zoë Ortíz4410029/02/2024sí-12,00
800130Ñuño Castañeda0670011/03/2024no980,75
-- Written by IntoSQL for Oracle.

SET DEFINE OFF

CREATE TABLE clientes_2024 (
    no_cliente VARCHAR2(8 CHAR) NOT NULL,
    nombre VARCHAR2(16 CHAR) NOT NULL,
    c_p VARCHAR2(8 CHAR) NOT NULL,
    alta DATE NOT NULL,
    activo NUMBER(1) NOT NULL,
    saldo NUMBER(6,2)
);
COMMENT ON COLUMN clientes_2024.no_cliente IS 'Nº Cliente';
COMMENT ON COLUMN clientes_2024.c_p IS 'C.P.';

INSERT ALL
    INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES ('00127', 'Peña Muñoz', '01234', DATE '2024-02-03', 1, 1234.50)
    INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES ('00128', 'José Ángel', '09870', DATE '2024-02-15', 0, NULL)
    INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES ('00129', 'Zoë Ortíz', '44100', DATE '2024-02-29', 1, -12.00)
    INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES ('00130', 'Ñuño Castañeda', '06700', DATE '2024-03-11', 0, 980.75)
SELECT 1 FROM DUAL;

COMMIT;

Perbaikan

  1. Baris judul ada di baris 4; baris di atasnya tidak disertakan.
  2. Baris 9 ("TOTAL") adalah total, jadi tidak disertakan.
  3. Kolom "Nº Cliente" kini bernama no_cliente agar Oracle membacanya tanpa tanda kutip.
  4. Kolom "C.P." kini bernama c_p agar Oracle membacanya tanpa tanda kutip.
  5. Nol di depan dipertahankan di "Nº Cliente": 00127 tetap 00127, disimpan sebagai teks.
  6. Nol di depan dipertahankan di "C.P.": 01234 tetap 01234, disimpan sebagai teks.
  7. 15/02/2024 membuktikan tanggal di "Alta" diawali hari, jadi 03/02/2024 dibaca sebagai 2024‑02‑03.
  8. "Activo" berisi kata ya dan tidak (sí, no), disimpan sebagai boolean.
  9. Angka di "Saldo" memakai koma desimal: 1.234,50 dibaca sebagai 1234.50.
  10. N/A di "Saldo" dibaca sebagai kosong (1 dari 4 nilai).

File Anda dikonversi di komputer ini dan tidak pernah diunggah.

Contoh lain:

Dari Excel ke Oracle, kolom demi kolom

Contoh di atas, clientes_2024.xlsx, seperti yang ditulis IntoSQL untuk Oracle: isi setiap kolom di file, tipe yang didapatnya, dan bagaimana nilai pertamanya ditulis di skrip.

Di fileNilai pertamaKolomTipe OracleDi skrip
Nº Cliente00127no_clienteVARCHAR2(8 CHAR)'00127'
NombrePeña MuñoznombreVARCHAR2(16 CHAR)'Peña Muñoz'
C.P.01234c_pVARCHAR2(8 CHAR)'01234'
Alta03/02/2024altaDATEDATE '2024-02-03'
ActivosíactivoNUMBER(1)1
Saldo1.234,50saldoNUMBER(6,2)1234.50

Muat skrip ke Oracle

Hasil unduhan adalah file .sql biasa. Jalankan dengan alat bawaan Oracle.

Dari terminal

sqlplus user@//localhost/mydb @clientes_2024.oracle.sql

Skrip mematikan variabel substitusi (SET DEFINE OFF), jadi tanda & di data Anda tetap menjadi &.

Dari alat database

Di SQL Developer, buka skrip lalu pilih Run Script (F5).

Yang perlu diketahui tentang file Excel dan Oracle

Yang dibaca IntoSQL di file Excel

  • Baris judul tetap ditemukan meski ada judul atau catatan di atasnya, dan baris total di akhir tidak disertakan.
  • Tanggal yang disimpan sebagai nomor seri Excel menjadi tanggal sungguhan, baik dalam sistem tanggal 1900 maupun 1904.
  • Kode dengan nol di depan, seperti 00127, tetap menjadi teks. Jika buku kerja memiliki beberapa lembar, Anda memilih lembarnya.

Yang perlu diketahui tentang Oracle

  • Nilai ya dan tidak menjadi NUMBER(1) yang berisi 1 atau 0, yang diterima semua versi Oracle.
  • Teks menjadi VARCHAR2 dengan panjang dalam karakter; di atas 4000 byte menjadi CLOB. Oracle menyimpan teks kosong sebagai NULL.
  • Baris disisipkan dengan INSERT ALL, dan nilai panjang dipecah agar SQL*Plus menerimanya.

Cara setiap jenis nilai disimpan di Oracle

NilaiOracle
Ya dan tidakNUMBER(1)
Bilangan bulatNUMBER(10)
Bilangan bulat besarNUMBER(19)
DesimalNUMBER(p,s)
Bilangan floating-pointBINARY_DOUBLE
TanggalDATE
JamINTERVAL DAY(0) TO SECOND
Tanggal dengan jamTIMESTAMP
Tanggal dengan jam dan selisih waktuTIMESTAMP WITH TIME ZONE
TeksVARCHAR2(n CHAR)CLOB

Pertanyaan tentang Excel ke Oracle

Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak

Bagaimana cara mengonversi Excel ke Oracle?

Letakkan file Anda di konverter di bagian atas halaman ini. Konverter menemukan baris judul, membaca setiap nilai, dan menulis skrip Oracle, dengan mencantumkan setiap perbaikan yang dibuat. Unduh skripnya dan jalankan dengan SQL*Plus.

Lembar mana dari workbook yang dikonversi?

Lembar pertama yang terlihat. Jika workbook memiliki lebih dari satu lembar, opsi Lembar muncul agar Anda bisa memilih yang lain.

Tipe Oracle apa saja yang digunakan?

Nilai ya dan tidak menjadi NUMBER(1), bilangan bulat NUMBER(10), desimal NUMBER(p,s), tanggal DATE, tanggal dengan waktu TIMESTAMP, dan teks VARCHAR2(n CHAR). Ukuran diambil dari nilai terpanjang di setiap kolom.

Apakah nol di depan tetap ada di Oracle?

Ya. Kode seperti 00127 tetap berupa teks, jadi Oracle menyimpannya sebagai VARCHAR2(8 CHAR) dan skrip menuliskannya sebagai '00127'.

Bisakah data dimuat ke Oracle tanpa skrip?

Tidak. Unduh skripnya dan jalankan dengan SQL*Plus. Pemuatan tanpa skrip tersedia untuk PostgreSQL, MySQL, MariaDB, dan SQLite, dari aplikasi desktop atau command line.

Seberapa besar file Excel yang bisa dipakai?

Di browser, workbook dibaca utuh, jadi batasnya adalah memori yang diberikan browser untuk halaman ini. Aplikasi desktop dan command line menerima workbook dengan ukuran berapa pun; di laptop Apple M4, command line mengonversi workbook 117 MB berisi satu juta baris dalam sekitar satu detik.