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 hingga dengan akhir. Tipe data yang biasa dipakai ialah 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 dipakai ialah VARCHAR, VARCHAR2, NVARCHAR2.
- CLOB (Character Large Object)
CLOB ialah tipe data yang dipakai untuk menyimpan data karakter yang ukurannya sangat besar hingga tera bytes.
String Dalam Program
Dibawah ini ialah pola agenda PL/SQL yang memakai 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 sanggup memakai operator concatenation ( || ). Untuk lebih jelasnya, Anda sanggup lihat menyerupai pola agenda 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 ialah 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 aksara depannya kapital sedangkan aksara selanjutnya ialah aksara kecil (lowercase). |
INSTR(x, str1, [,start] [,occourence] ) | Mencari st1 dalam string x menurut posisi awal [start] dan sebanyak [occurence]. |
LENGTH(x) | Mencari panjang dari suatu string x. |
LOWER(x) | Mengubah String x menjadi aksara kecil (lowercase). |
LPAD(x,width[,str1]) | Menambahkan (padding) str1 pada string dengan posisi sebelah kiri hingga dengan batas maksimum (width). |
LTRIM(x[,str1]) | Melakukan proses trim (menghapus spasi) di sebelah string x. |
NVL(x,value) | Jika nilai x ialah null maka akan menghasilkan nilai value. Sedangkan kalau tidak maka akan menghasilkan x. |
NVL2(x,value1, value2) | Menghasilkan value1 jikalau x tidak sama dengan null, dan menghasilkan value2 jikalau 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 menurut 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 aksara besar (uppercase) |
Contoh Program
DECLARE str1 VARCHAR2(50) := 'Selamat!! mencar ilmu 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!! mencar ilmu PL/SQL ya.. str2 = ....Jangan lupa siapin kopi.... CONCAT (str1,str2) = Selamat!! mencar ilmu 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!! mencar ilmu 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.