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!

PL/SQL - Strings

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:

  1. Menghitung perkataan dengan menghitung ruang
  2. Mengambil perkataan khusus menggunakan SUBSTR dan INSTR
  3. 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