PL/SQL - Strings: A Beginner's Guide
Halo, para pengguna PL/SQL masa depan! Hari ini, kita akan memulakan sebuah perjalanan yang menarik ke dunia string dalam PL/SQL. Jangan bimbang jika anda belum pernah menulis sebaris kod sebelum ini - saya akan menjadi panduannya yang ramah, dan kita akan mengambil langkah demi langkah. Pada akhir panduan ini, anda akan dapat memanipulasikan string seperti seorang pro!
Apa Itu String?
Sebelum kita masuk ke dalam, mari kita mulakan dengan dasar. Dalam pengkomputeran, string adalah hanya satu rentetan karakter. Ia boleh menjadi satu perkataan, satu ayat, atau bahkan satu paragraf. Anggapkan ia sebagai mana-mana teks yang anda mungkin menaip di papan kekunci.
Mengisytiharkan Variabel String
Dalam PL/SQL, kita perlu mengisytiharkan variabel sebelum kita dapat menggunainya. Ia seperti memperkenalkan diri anda sebelum anda mula berbicara - ia hanya adat yang baik!
Penyataan String Asas
Mari kita mula dengan cara paling mudah untuk mengisytiharkan variabel string:
DECLARE
my_name VARCHAR2(50) := 'John Doe';
BEGIN
DBMS_OUTPUT.PUT_LINE('Nama saya adalah: ' || my_name);
END;
Dalam contoh ini:
- Kita menggunakan kata kunci
DECLARE
untuk mula mengisytiharkan variabel. -
my_name
adalah nama variabel kita. -
VARCHAR2(50)
bermaksud ia adalah string panjang yang boleh berubah dan boleh menyimpan sehingga 50 aksara. -
:=
adalah pengguna operator penugasan, seperti tanda samada. - 'John Doe' adalah nilai awal yang kita isytiharkan ke
my_name
.
Bila kita menjalankan kod ini, ia akan output: "Nama saya adalah: John Doe"
Menggunakan Jenis String Berbeza
PL/SQL menawarkan beberapa jenis string. Mari kita lihat beberapa jenis:
DECLARE
v_varchar2 VARCHAR2(20) := 'Hello, World!';
v_char CHAR(10) := 'Fixed ';
v_long LONG := 'Ini adalah string panjang yang boleh menyimpan sehingga 32,760 aksara';
BEGIN
DBMS_OUTPUT.PUT_LINE('VARCHAR2: ' || v_varchar2);
DBMS_OUTPUT.PUT_LINE('CHAR: ' || v_char);
DBMS_OUTPUT.PUT_LINE('LONG: ' || v_long);
END;
Ini adalah apa yang berlaku:
-
VARCHAR2
adalah jenis paling umum, menyimpan string panjang yang boleh berubah. -
CHAR
adalah untuk string panjang tetap. Perhatikan bagaimana ia memenuhi ruang kosong dengan ruang putih. -
LONG
boleh menyimpan string sangat panjang, tetapi kurang fleksibel dalam beberapa operasi.
Fungsi dan Operator String PL/SQL
Sekarang kita tahu bagaimana mengisytiharkan string, mari kita bersenang-senang dengannya!
Penyambungan
Penyambungan adalah hanya satu istilah yang berbeza untuk "menggabungkan string". Dalam PL/SQL, kita menggunakan operator ||
:
DECLARE
first_name VARCHAR2(20) := 'Jane';
last_name VARCHAR2(20) := 'Smith';
full_name VARCHAR2(41);
BEGIN
full_name := first_name || ' ' || last_name;
DBMS_OUTPUT.PUT_LINE('Nama penuh: ' || full_name);
END;
Ini akan output: "Nama penuh: Jane Smith"
Fungsi String
PL/SQL menyediakan banyak fungsi terbina-dalam untuk memanipulasikan string. Mari kita jelajahi beberapa yang paling berguna:
Fungsi | Keterangan | Contoh |
---|---|---|
UPPER | Mengubah string kepada huruf besar | UPPER('hello') mengembalikan 'HELLO' |
LOWER | Mengubah string kepada huruf kecil | LOWER('WORLD') mengembalikan 'world' |
INITCAP | Mengecap huruf pertama setiap perkataan | INITCAP('john doe') mengembalikan 'John Doe' |
LENGTH | Mengembalikan panjang string | LENGTH('OpenAI') mengembalikan 6 |
SUBSTR | Mengambil sebahagian string | SUBSTR('HelloWorld', 1, 5) mengembalikan 'Hello' |
TRIM | Menghapuskan aksara yang ditentukan dari awal/akhir | TRIM(' Hello ') mengembalikan 'Hello' |
REPLACE | Menggantikan semua kejadian substring | REPLACE('JACK and JILL','J','BL') mengembalikan 'BLACK and BLILL' |
Mari kita lihat ini dalam tindakan:
DECLARE
v_string VARCHAR2(50) := ' hello, world! ';
BEGIN
DBMS_OUTPUT.PUT_LINE('Asal: ' || v_string);
DBMS_OUTPUT.PUT_LINE('UPPER: ' || UPPER(v_string));
DBMS_OUTPUT.PUT_LINE('LOWER: ' || LOWER(v_string));
DBMS_OUTPUT.PUT_LINE('INITCAP: ' || INITCAP(v_string));
DBMS_OUTPUT.PUT_LINE('LENGTH: ' || LENGTH(v_string));
DBMS_OUTPUT.PUT_LINE('SUBSTR: ' || SUBSTR(v_string, 3, 5));
DBMS_OUTPUT.PUT_LINE('TRIM: ' || TRIM(v_string));
DBMS_OUTPUT.PUT_LINE('REPLACE: ' || REPLACE(v_string, 'o', '0'));
END;
Kod ini akan output:
Asal: hello, world!
UPPER: HELLO, WORLD!
LOWER: hello, world!
INITCAP: Hello, World!
LENGTH: 16
SUBSTR: hello
TRIM: hello, world!
REPLACE: hell0, w0rld!
Menyepadankan Semua
Sekarang, mari kita gabungkan apa yang kita pelajari ke dalam contoh yang lebih rumit:
DECLARE
v_sentence VARCHAR2(100) := 'The quick brown fox jumps over the lazy dog';
v_word VARCHAR2(20);
v_count NUMBER;
BEGIN
-- Menghitung bilangan perkataan
v_count := LENGTH(v_sentence) - LENGTH(REPLACE(v_sentence, ' ', '')) + 1;
DBMS_OUTPUT.PUT_LINE('Bilangan perkataan: ' || v_count);
-- Mengambil dan mengecap perkataan ke-4
v_word := INITCAP(SUBSTR(v_sentence,
INSTR(v_sentence, ' ', 1, 3) + 1,
INSTR(v_sentence, ' ', 1, 4) - INSTR(v_sentence, ' ', 1, 3) - 1));
DBMS_OUTPUT.PUT_LINE('Perkataan ke-4 adalah: ' || v_word);
-- Menggantikan 'fox' dengan 'cat' dan 'dog' dengan 'mouse'
v_sentence := REPLACE(REPLACE(v_sentence, 'fox', 'cat'), 'dog', 'mouse');
DBMS_OUTPUT.PUT_LINE('Sentens yang diubahsuai: ' || v_sentence);
END;
Contoh ini menunjukkan:
- Menghitung perkataan dengan menghitung ruang
- Mengambil perkataan khusus menggunakan
SUBSTR
danINSTR
- Menggantikan beberapa perkataan dalam satu ayat
Output:
Bilangan perkataan: 9
Perkataan ke-4 adalah: Fox
Sentens yang diubahsuai: The quick brown cat jumps over the lazy mouse
Dan begitu sahaja! Anda telah mengambil langkah pertama ke dalam dunia menarik string PL/SQL. Ingat, latihan membuat sempurna, jadi jangan takut untuk bereksperimen dengan fungsi ini dan cipta pengalaman manipulasi string sendiri.
Sebelum anda tahu, anda akan dapat menggabungkan query yang kompleks dan mengimpress kawan dengan kebolehan PL/SQL anda. Terus coding, dan selamat bermain dengan string!
Credits: Image by storyset