fungsi single row dan multi row pada oracle
Post on 14-Jul-2015
386 Views
Preview:
TRANSCRIPT
LAPORAN TERTULIS
ON THE JOB TRAINING
I. TANGGAL : 13 – 17 Oktober 2014
II. TUJUAN :
1. Dapat memahami Fungsi single row dan multi row.
2. Dapat membuat contoh penggunaan fungsi pada tabel.
3. Dapat menerapkan command pada tabel.
SUBJEK PEMBAHASAN :
**************
1. Single Row Function
Single row function adalah fungsi yang digunakan pada baris tunggal (baris per baris) dan
mengembalikan satu hasil per baris tersebut. Yang termasuk dalam single row function yaitu ditunjukkan
seperti pada gambar berikut:
SV Manager Team Manager
a. Fungsi general
Yang termasuk fungsi general yaitu:
1. NVL 2. NVL2 3. NULLIF 4. COALESCE
5. CASE 6. DECODE 7. GREATEST 8. LEAST
Penggunaan dari tiap fungsi diatas telah dijelaskan pada pembahasan sebelumnya.
b. Fungsi character
Yang termasuk fungsi character yaitu:
1. ASCII 2. ASCIISTR 3. CHR
4. COMPOSE 5. CONCAT 6. Concat with || 7. CONVERT 8. DECOMPOSE 9. DUMP 10. INITCAP
11. INSTR 12. INSTR2
13. INSTR4 14. INSTRB 15. INSTRC
16. LENGTH 17. LENGTH2 18. LENGTH4 19. LENGTHB 20. LENGTHC 21. LOWER 22. LPAD
23. LTRIM 24. NCHR
25. REPLACE 26. RPAD 27. RTRIM
28. SOUNDEX 29. SUBSTRTO_CHAR 30. TO_DATE 31. TRANSLATE 32. TRIM 33. UPPER 34. VSIZE
Penggunaan dari fungsi yang umum digunakan telah dijelaskan pada pembahasan sebelumnya.
c. Fungsi number
Yang termasuk dalam fungsi number (angka) yaitu:
1. ABS 2. ACOS 3. ASIN 4. ATAN 5. ATAN2 6. AVG 7. BIN_TO_NUM 8. BITAND 9. CEIL 10. CORR 11. COS 12. COSH 13. COUNT 14. COVAR_POP 15. COVAR_SAMP
16. CUME_DIST 17. DENSE_RANK 18. EXP 19. EXTRACT 20. FLOOR 21. GREATEST 22. LEAST 23. LN 24. LOG 25. MAX 26. MEDIAN 27. MIN 28. MOD 29. POWER 30. RANK
31. REMAINDER 32. ROUND (numbers) 33. SIGN 34. SIN 35. SINH 36. SQRT 37. STDDEV 38. SUM 39. TAN 40. TANH 41. TO_NUMBER 42. TRUNC (numbers) 43. VARIANCE 44. VAR_POPVAR_SAMP
Dari beberapa fungsi tersebut, dalam pembahasan ini akan dibahas beberapa fungsi yang sering
digunakan yaitu:
1. ABS Fungsi ABS merupakan singkatan dari ABSOLUTE yaitu mengambil nilai mutlak dari suatu
bilangan. Walaupun nilai yang digunakan adalah bilangan negatif, dengan menggunakan fungsi ABS nilai tersebut bernilai positif. Adapun syntax penulisan dari fungsi ABS yaitu:
ABS( angka )
Contoh penggunaan ABS ditunjukkan pada gambar berikut:
2. CEIL Fungsi CEIL mengembalikan hasil pembulatan angka lebih besar atau sama dengan dari suatu angka.
Adapun syntax dari CEIL ini ditunjukkan sebagai berikut:
CEIL( number )
Berikut diberikan contoh penggunaan dari CEIL
Terlihat bahwa fungsi CEIL akan membulatkan ke atas nilai yang memiliki digit koma lebih dari 0. Meskipun tidak sama dengan kaidah matematika dimana pembulatan keatas akan dilakukan jika nilai tersebut lebih dari 0.5.
3. FLOOR Fungsi dari FLOOR adalah untuk membulatkan angka ke bawah atau sama dengan nilai angka
tersebut. Berlawanan dengan CEIL, FLOOR akan membulatkan kebawah meskipun nilai digit di belakang koma >=5.
Adapun syntax dan contoh penggunaan dari fungsi FLOOR ditunjukkan sebagai berikut:
FLOOR( number )
4. MOD Fungsi MOD dalah modulus, yaitu mengembalikan sisa hasil pembagian dari 2 buah angka. Yang
dikembalikan adalah sisa hasil bagi, bukan angka hasil pembagian antara 2 bilangan tersebut. Adapun syntax dan contoh penggunaan fungsi MOD ditunjukkan sebagai berikut:
MOD( m, n )
Dimana m = bilangan utama
n = bilangan pembagi
5. POWER Fungsi POWER adalah pemangkatan dan POWER akan mengembalikan hasil dari pemangkatan
kedua nilai tersebut. Adapun contoh dari
POWER( m, n )
Pada gambar terlihat bahwa jika angka dipangkatkan dengan bilangan negatif maka akan menghasilkan bilang berkoma.
6. ROUND Fungi ROUND adalah untuk membulatkan angka sesuai dengan kaedah matematika (jika < 5
pembulatan ke bawah dan jika >= 5 pembulatan ke atas) dan pembulatan berdasarkan sejumlah tertentu. Adapun syntax penulisan dan contoh penggunaan dari fungsi round yaitu sebagai berikut:
ROUND( angka, [ jumlah_angka_dibelakang_koma ] )
7. SIGN Fungsi SIGN adalah untuk mengembalikan nilai indikator atau tanda dari suatu angka. Dimana :
- Jika bilangan = 0, maka akan dikembalikan 0 - Jika bilangan < 0 , maka akan dikembalikan -1 - Jika bilangan > 0, maka dikembalikan 1.
Adapun syntax penulisan dan contoh penggunaan ditunjukkan sebagai berikut:
SIGN(bilangan)
8. TRUNC (numbers) Fungsi TRUNC adalah untuk memotong digit pada bilangan desimal suatu bilangan berdasarkan
sejumlah angka tertentu. Adapun syntax dan contoh penggunaan TRUNC ditunjukkan sebagai berikut:
TRUNC( angka, [ jumlah_angka_dibelakang_koma] )
Pada gambar bahwa fungsi TRUNC tidak membulatkan angka, fungsi ini hanya memotong jumlah
angka di belakang koma sesuai dengan format yang telah di buat.
d. Fungsi date
Yang termasuk dalam fungsi date (tanggal) yaitu:
1. ADD_MONTHS
2. CURRENT_DATE
3. CURRENT_TIMESTAMP
4. DBTIMEZONE
5. FROM_TZ
6. LAST_DAY
7. LOCALTIMESTAMP
8. MONTHS_BETWEEN
9. NEW_TIME
10. NEXT_DAY
11. ROUND (dates)
12. SESSIONTIMEZONE
13. SYSDATE
14. SYSTIMESTAMP
15. TO_CHAR
16. TO_DATE
17. TO_TIMESTAMP
18. TO_TIMESTAMP_TZ
19. TO_YMINTERVAL
20. TRUNC (dates)
21. TZ_OFFSET
e. Fungsi conversion
Fungsi konversi terbagi menjadi dua jenis, yaitu:
a. Implisit
b. Eksplisit
1. Implisit
Fungsi implisit maksudnya adalah fungsi yang secara tidak terlihat (oleh user) akan mengubah suatu
tipe data menjadi tipe data yang lain. Pada suatu kasus akan terjadi dimana ketika penulisan program,user
tidak membuat fungsi konversi secara langsung, namun Oracle akan tetap memperkirakan dan
mengkonversi tipe data tersebut sehingga bisa dimengerti dan diproses oleh system. Adapun tipe data
yang diizinkan dalam fungsi konversi implisit yaitu seperti gambar berikut:
Misal pada ekspresi berikut:
- hire_date > ’01JAN 90’ ; maksudnya adalah oracle akan mengubah karakter string dalam tanda ‘ ‘ menjadi
suatu format tanggal yang bersesuaian dengan 1 Januari 1990.
- salary = ’50000’ ; maksudnya adalah oracle akan mengubah karakter string dalam tanda ‘ ‘ menjadi
format angka 50000. Pengkonversian akan berhasil jika angka yang digunakan dalam string merupakan angka
yang benar dan valid.
2. Eksplisit
Fungsi konversi eksplisit maksudnya adalah fungsi konversi yang tipe pengkonversiannya ditentukan
oleh User. Yang termasuk dalam fungsi konversi eksplisit yaitu:
1. BIN_TO_NUM
2. CAST
3. CHARTOROWID
4. FROM_TZ
5. HEXTORAW
6. NUMTODSINTERVAL
7. NUMTOYMINTERVAL
8. RAWTOHEX
9. TO_CHAR
10. TO_CLOB
11. TO_DATE
12. TO_DSINTERVAL
13. TO_LOBTO_MULTI_BYTE
14. TO_NCLOB
15. TO_NUMBER
16. TO_SINGLE_BYTE
17. TO_TIMESTAMP
18. TO_TIMESTAMP_TZ
19. TO_YMINTERVAL
Dari fungsi-fungsi di atas, adapun fungsi yang dibahas dalam laporan ini yaitu
1. TO_CHAR
2. TO_DATE
3. TO_NUMBER
Untuk memudahkan mengingat bagaimana penggunaan fungsi konversi diatas maka contohnya
ditunjukkan pada gambar berikut:
- TO_CHAR
Fungsi dari TO_CHAR adalah untuk mengkonversi nilai suatu bilangan (angka) atau tanggal menjadi suatu karakter string VARCHAR2. Adapun syntax penulisan dari TO_CHAR ditunjukkan seperti berikut:
TO_CHAR( nilai, [format])
Untuk penulisan format, biasanya pada TOC_AHR dibuat berdasarkan elemen yang digunakan.
Berikut dijelaskan tentang elemen pada format dan contoh penggunaan TO_CHAR.
- TO_NUMBER Fungsi dari TO_NUMBER adalah untuk mengubah karakter string menjadi karatker bilangan
(angka). Fungsi TO_NUMBER akan berhasil jika pada karakter string,merupakan angka yang benar, angka yang valid, dan tidak bercampur dengan karakter huruf, dll.
- TO_DATE Fungsi dari TO_DATE adalah untuk mengubah format karakter string menjadi format tanggal
berdasarkan format yang telah ditentukan. Jika format tidak ditulis, maka format yang digunakan adalah DDMONYY. Dalam penggunaan TO_DATE, format penulisan harus dituliskan, dan berikut dijelaskan format tanggal yang digunakan
Berikut contoh penggunaaan pada TO_DATE.
2. Multi Rows Function
Multi row function adalah fungsi yang digunakan pada beberapa baris, berdasarkan group, kategori
ataupun keseluruhan baris yang ada pada tabel dan mengembalikan satu buah hasil. Multi row function
disebut juga aggeragate function. Adapun yang termasuk dalam aggregate function ini adalah :
1. AVG
2. COLLECT
3. CORR
4. CORR_*
5. COUNT
6. COVAR_POP
7. COVAR_SAMP
8. CUME_DIST
9. DENSE_RANK
10. FIRST
11. GROUP_ID
12. GROUPING
13. GROUPING_ID
14. LAST
15. MAX
16. MEDIAN
17. MIN
18. PERCENTILE_CONT
19. PERCENTILE_DISC
20. PERCENT_RANK
21. RANK
22. REGR_ (Linear Regression)
Functions
23. STATS_BINOMIAL_TEST
24. STATS_CROSSTAB
25. STATS_F_TEST
26. STATS_KS_TEST
27. STATS_MODE
28. STATS_MW_TEST
29. STATS_ONE_WAY_ANOVA
30. STATS_T_TEST_*
31. STATS_WSR_TEST
32. STDDEV
33. STDDEV_POP
34. STDDEV_SAMP
35. SUM
36. VAR_POP
37. VAR_SAMP
38. VARIANCE
Dari fungsi-fungsi diatas, dalam pembahasan ini akan dibahas beberapa fungsi yang sering digunakan
yaitu:
1. AVG
Fungsi AVG ini akan mengembalikan nilai rata-rata dari beberapa baris (sesuai dengan
pengkondisian atau syarat yang digunakan) atau keseluruhan baris dari suatu kolom. Oleh karena itu
penggunaan fungsi AVG ini digunakan pada tipe data yang berupa angka (bilangan) yang valid dan
menolak tipe data lain. Adapun syntax penulisan dari AVG dijelaskan sebagai berikut:
SELECT AVG(nama_kolom)
FROM nama_table
WHERE kondisi_syarat; -- ini opsional (bisa digunakan bisa juga tidak)
Penggunaan kondisi WHERE tergantung pada kebutuhan akan nilai yang ingin dihasilkan. Adapun
contoh penggunaan AVG ditunjukkan sebagai berikut:
2. COUNT
Fungsi COUNT adalah untuk menghitung jumlah ‘baris’ yang terdapat pada suatu kolom. Adapun
syntax dari fungsi COUNT ditunjukkan sebagai berikut:
SELECT COUNT( ekspresi_nama_kolom )
FROM tabel
WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)
Adapun contoh penggunaan COUNT ditunjukkan sebagai berikut:
Terlihat bahwa dengan menggunakan perintah COUNT (*) kita bisa mengetahui jumlah baris dari
tabel customers tanpa tahu data apa saja yang terdapat di dalamnya. Pada tanda (*) , tanda * kita bisa
merubah nya dengan menggunakan nama kolom yang terdapat pada tabel.
3. MIN
Fungsi MIN akan mengambil nilai terkecil / minimum dari beberapa baris. Adapun syntax dari
fungsi min ditunjukkan sebagai berikut.
SELECT MIN( nama_kolom )
FROM tabel
WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)
Berikut contoh penggunaan dari fungsi MIN
4. MAX
Kebalikan dari fungsi MIN, fungsi MAX akan mengembalikan nilai terbesar dari beberapa baris yang
ada dalam tabel. Berikut syntax penulisan dari fungsi MAX yaitu sebagai berikut:
SELECT MIN( nama_kolom )
FROM tabel
WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)
Adapun contoh penggunaan fungsi MAX dijelaskan pada gambar:
Dengan menggunakan fungsi agregat, kita bisa mengetahui nilai rata-rata, minimum dan dan
maksimum dari suatu kolom (dalam gambar ini disebutkan nilai ‘salary’).
5. SUM
Fungsi SUM adalah menjumlahkan nilai yang terdapar beberapa baris atau keseluruhan baris dari
suatu kolom. Fungsi SUM hanya berlaku untuk bilangan (angka) yang valid dan benar, karena jika
digunakan pada tipe data selain daripada angka maka akan menghasilkan eror.
Adapun syntax dari penulisan fungsi SUM ditunjukkan sebagai berikut:
SELECT SUM( nama_kolom )
FROM tabel
WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)
Contoh penggunaan dari fungsi SUM ditunjukkan pada gambar berikut:
Fungsi fungsi agregat (AVG,COUNT, MIN, MAX, dan SUM) akan menolak atau mengabaikan jika
dalam suatu baris yang diproses mengandung nilai NULL sehingga akan berpengaruh pada hasil yang
akan didapatkan. Seperti contoh pada fungsi COUNT berikut.
Pada perhitungan dengan menggunakan (*) terlihat bahwa data yang ditampilkan yaitu 10, sedangkan
ketika menggunakan (address) didapatkan data 6. Address yang bernilai NULL tidak termasuk dalam
perhitungan.
Oleh karena itu, untuk mengantisipasi keadaan tersebut maka digunakanlah fungsi general yaitu
NVL yang berfungsi untuk mengolah ekspresi NULL. Dengan menggunakan NVL, kita dapat mengubah
nilai NULL (nilai kosong, tidak mempunyai isi atau belum terdefinisi) tersebut dengan nilai 0 untuk yang
bertipe angka, dan karakter spasi jika bertipe string (nilai 0 digunakan jika kita tidak ingin mengisi data
apapun ke dalam baris tersebut). Dengan nilai 0 tersebut, fungsi agregat akan memproses baris tersebut
dan baris tersebut akan ‘dihitung’ total jumlah barisnya yang akan berpengaruh ke proses.
top related