Tipe String
Ada 3 tipe String di Oracle PL/SQL, yaitu:- Fixed-Length String
Adalah String yang panjangnya fixed (sudah ditentukan). Apabila panjangnya kurang, maka secara otomatis akan menambahkan spasi kosong sampai dengan akhir. Tipe data yang biasa digunakan adalah CHAR, NCHAR
- Variable-Length String
Adalah string yang panjangnya dinamis (variable). Memori akan menyimpan string tersebut sesuai dengan panjang string sebenarnya, walaupun ukurannya lebih kecil dari panjang string yang ditentukan. Tipe data yang biasa digunakan adalah VARCHAR, VARCHAR2, NVARCHAR2.
- CLOB (Character Large Object)
CLOB adalah tipe data yang digunakan untuk menyimpan data karakter yang ukurannya sangat besar hingga tera bytes.
String Dalam Program
Dibawah ini adalah contoh program PL/SQL yang menggunakan deklarasi String.DECLARE nama VARCHAR2(30); jurusan VARCHAR2(40); greetings CLOB; status CHAR(1); BEGIN nama := 'Nursalim'; jurusan := 'Teknik Informatika'; greetings := 'Hello! Saya Nursalim dari Jurusan Teknik Informatika UNINDRA'; status := 'Y'; IF status = 'Y' THEN DBMS_OUTPUT.PUT_LINE(nama); DBMS_OUTPUT.PUT_LINE(jurusan); DBMS_OUTPUT.PUT_LINE(greetings); END IF; END; /
Menggabungkan Dua String
Untuk menggabungkan dua string, Anda dapat menggunakan operator concatenation ( || ). Untuk lebih jelasnya, Anda dapat lihat seperti contoh program di bawah:DECLARE string1 VARCHAR2(30); string2 VARCHAR2(40); BEGIN string1 := 'Nursalim'; string2 := 'Teknik Informatika'; DBMS_OUTPUT.PUT_LINE(string1||' Jurusan '||string2); END; /
String Built-in Function
Di bawah ini adalah tabel macam-macam fungsi String bawaan (built-int) Oracle PL/SQLFungsi | Deskripsi |
---|---|
ASCII(x) | Menghasilkan nilai ASCII dari karakter x |
CHR(x) | Menghasilkan nilai karakter dari ASCII x |
CONCAT(x,y) | Menggabungkan string x dan y |
INITCAP(x) | Menghasilkan inital letter, yaitu kata yang huruf depannya kapital sedangkan huruf selanjutnya adalah huruf kecil (lowercase). |
INSTR(x, str1, [,start] [,occourence] ) | Mencari st1 dalam string x berdasarkan posisi awal [start] dan sebanyak [occurence]. |
LENGTH(x) | Mencari panjang dari suatu string x. |
LOWER(x) | Mengubah String x menjadi huruf kecil (lowercase). |
LPAD(x,width[,str1]) | Menambahkan (padding) str1 pada string dengan posisi sebelah kiri sampai dengan batas maksimum (width). |
LTRIM(x[,str1]) | Melakukan proses trim (menghapus spasi) di sebelah string x. |
NVL(x,value) | Jika nilai x adalah null maka akan menghasilkan nilai value. Sedangkan kalau tidak maka akan menghasilkan x. |
NVL2(x,value1, value2) | Menghasilkan value1 jika x tidak sama dengan null, dan menghasilkan value2 jika x sama dengan null. |
REPLACE(x,string_search, string_replace) | Mengganti string_search dengan string_replace pada sebuah string x. |
RPAD(x,width[, pad_string]) | PAD string x dari sebelah kanan dengan menambahkan pad_string sepanjang string width |
RTRIM(x[, trim_string]) | TRIM dari sebelah kanan string x |
SUBSTR(x, start[, length]) | Menghasilkan nilai substring dari string x berdasarkan posisi awal (start) dan panjang string substring (length) |
TRIM([trim_char FROM] x) | Menghapus/Menghilangkan trim_char dari string x. |
UPPER(x) | Mengubah String x menjadi huruf besar (uppercase) |
Contoh Program
DECLARE str1 VARCHAR2(50) := 'Selamat!! belajar PL/SQL ya..'; str2 VARCHAR2(50) := '....Jangan lupa siapin kopi....'; BEGIN DBMS_OUTPUT.PUT_LINE('str1 = '||str1); DBMS_OUTPUT.PUT_LINE('str2 = '||str2); DBMS_OUTPUT.PUT_LINE('CONCAT (str1,str2) = '||CONCAT(str1,str2)); DBMS_OUTPUT.PUT_LINE('INITCAP (str1) = '||INITCAP(str1)); DBMS_OUTPUT.PUT_LINE('INSTR (str1, ''e'', 1) = '||INSTR(str1, 'e', 1)); DBMS_OUTPUT.PUT_LINE('LENGTH (str1) = '||LENGTH(str1)); DBMS_OUTPUT.PUT_LINE('LOWER (str1) = '||LOWER(str1)); DBMS_OUTPUT.PUT_LINE('REPLACE (str1) = '||REPLACE(str1,'a','@')); DBMS_OUTPUT.PUT_LINE('SUBSTR (str1, 1, 10) = '||SUBSTR(str1,1,10)); DBMS_OUTPUT.PUT_LINE('SUBSTR (str1, -10) = '||SUBSTR(str1,-11)); DBMS_OUTPUT.PUT_LINE('UPPER (str1) = '||UPPER(str1)); END;
Output:
str1 = Selamat!! belajar PL/SQL ya.. str2 = ....Jangan lupa siapin kopi.... CONCAT (str1,str2) = Selamat!! belajar PL/SQL ya......Jangan lupa siapin kopi.... INITCAP (str1) = Selamat!! Belajar Pl/Sql Ya.. INSTR (str1, 'e', 1) = 2 LENGTH (str1) = 29 LOWER (str1) = selamat!! belajar pl/sql ya.. REPLACE (str1) = Sel@m@t!! bel@j@r PL/SQL y@.. SUBSTR (str1, 1, 10) = Selamat!! SUBSTR (str1, -10) = PL/SQL ya.. UPPER (str1) = SELAMAT!! BELAJAR PL/SQL YA.. PL/SQL procedure successfully completed.
0 comments:
Post a Comment