Fungsi Bawaan Oracle

24
Single Row Function MI2143 – Dasar SQL Semester Ganjil / Tahun Ajaran 2013-2014 Hanya dipergunakan untuk kepentingan pengajaran di Lingkungan Politeknik Telkom Disajikan Oleh: Dedy Rahman Wijaya, S.T., M.T. – [email protected] Disusun Oleh: Wardani Muhamad S.T., M.T. – wdm@politekniktelkom,ac.id

Transcript of Fungsi Bawaan Oracle

Page 1: Fungsi Bawaan Oracle

Single Row Function

MI2143 – Dasar SQLSemester Ganjil / Tahun Ajaran 2013-2014

Hanya dipergunakan untuk kepentingan pengajaran di Lingkungan Politeknik Telkom

Disajikan Oleh:

Dedy Rahman Wijaya, S.T., M.T. – [email protected]

Disusun Oleh:

Wardani Muhamad S.T., M.T. – wdm@politekniktelkom,ac.id

Page 2: Fungsi Bawaan Oracle

Kompetensi

Mahasiswa dapat menjelaskan tipe-tipe function di SQL

Mahasiswa dapat menggunakan fungsi yang berkaitan dengan karakter, angka (number), dan tanggal pada statement SELECT

Page 3: Fungsi Bawaan Oracle

Agenda Perkuliahan

Single-row SQL functions

Function Character

Functions Pengolah Angka (Number)

Bekerja dengan Tanggal

Function Manipulasi Tanggal

Page 4: Fungsi Bawaan Oracle

SQL Functions

Function

Input

arg 1

arg 2

arg n

Function performs action

Output

Resultvalue

Page 5: Fungsi Bawaan Oracle

Tipe Function di SQL

Single-row functions

Multiple-rowfunctions

Return one result per row

Return one result per set of rows

Functions

Page 6: Fungsi Bawaan Oracle

Single Row Function

Single-row functions:

Dapat memanipulasi data

Dapat menggunakan beberapa argument dan menghasilkan sebuah nilai

Mengeksekusi tiap baris (row/record) yang akan dikembalikan

Mengembalikan sebuah nilai dari eksekusi baris (row/record)

Memungkinkan untuk memodifikasi tipe data

Dapat bersarang(nested)

Argumen dapat berupa sebuah column atau sebuah ekspresi

function_name [(arg1, arg2,...)]

Page 7: Fungsi Bawaan Oracle

Cakupan Single Row Function

Conversion

Character

Number

Date

GeneralSingle-row functions

Page 8: Fungsi Bawaan Oracle

Function Character

Characterfunctions

LOWERUPPERINITCAP

CONCATSUBSTRLENGTHINSTRLPAD | RPADTRIMREPLACE

Case-conversion functions

Character-manipulationfunctions

Page 9: Fungsi Bawaan Oracle

Function Case-Convertion

Function berikut digunakan untuk mengkonversi bentuk (case) karakter pada string

sql courseLOWER('SQL Course')

Sql CourseINITCAP('SQL Course')

SQL COURSEUPPER('SQL Course')

HasilFunction

Page 10: Fungsi Bawaan Oracle

Function Case-Convertion (2)

SELECT employee_id, last_name, department_idFROM employeesWHERE LOWER(last_name) = 'higgins';

Contoh penggunaan:

Tampilkan nomer pegawai, nama, dan nomer departemen untuk pegawai yang mempunyai nama Higgins:

SELECT employee_id, last_name, department_idFROM employeesWHERE last_name = 'higgins';

Page 11: Fungsi Bawaan Oracle

Function untuk Manipulasi Karakter

Function berikut digunakan untuk memanipulasi karakter pada string:

BLACK and BLUE REPLACE('JACK and JUE','J','BL')

10LENGTH('HelloWorld')

6INSTR('HelloWorld', 'W')

*****24000LPAD(salary,10,'*')

24000*****RPAD(salary, 10, '*')

HelloWorldCONCAT('Hello', 'World')

elloWorldTRIM('H' FROM 'HelloWorld')

HelloSUBSTR('HelloWorld',1,5)

HasilFunction

Page 12: Fungsi Bawaan Oracle

Function untuk Manipulasi Karakter (2)

SELECT employee_id, CONCAT(first_name, last_name) NAME, job_id, LENGTH (last_name), INSTR(last_name, 'a') "Contains 'a'?"FROM employeesWHERE SUBSTR(job_id, 4) = 'REP';

2

31 2

1

3

Page 13: Fungsi Bawaan Oracle

Functions Pengolah Angka (Number)

ROUND: membulatkan nilai pada decimal tertentu

TRUNC: memotong nilai pada decimal tertentu

MOD: hasil sisa pembagian

100MOD(1600, 300)

45.93ROUND(45.926, 2)

45.92TRUNC(45.926, 2)

ResultFunction

Page 14: Fungsi Bawaan Oracle

Function ROUND

SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1)FROM DUAL;

DUAL adalah table dummy yang dapat digunakan untuk menampilkan hasil dari function atau perhitungan.

3

31 2

1 2

Page 15: Fungsi Bawaan Oracle

Function TRUNC

SELECT TRUNC(45.923,2), TRUNC(45.923), TRUNC(45.923,-1)FROM DUAL;

3

1

1 2

2 3

Page 16: Fungsi Bawaan Oracle

Function MOD

Contoh penggunaaan:

Tampilkan seluruh pegawai yang bekerja sebagai Sales Representative, hitung sisa gajinya setelah dibagi dengan 5,000

SELECT last_name, salary, MOD(salary, 5000)FROM employeesWHERE job_id = 'SA_REP';

Page 17: Fungsi Bawaan Oracle

Bekerja dengan Tanggal

Oracle menyimpan tanggal dalam format numeric internal yang terdiri atas: abad, tahun, bulan, hari, jam, menit, dan detik.

Default format tanggal disajikan adalah DD-MON-RR.

SELECT last_name, hire_dateFROM employeesWHERE hire_date < '07-02-2003';

Page 18: Fungsi Bawaan Oracle

Format Tanggal RR

Current Year1995199520012001

27-OCT-9527-OCT-1727-OCT-1727-OCT-95

1995201720171995

1995191720172095

If two digits of the current year are:

0–49

0–49 50–99

50–99

The return date is in the current century

The return date is in the century after the current one

The return date is in the century before the current oneThe return date is in the current century

If the specified two-digit year is:

YY FormatRR FormatSpecified DateCurrent Year

Page 19: Fungsi Bawaan Oracle

Function SYSDATE

SYSDATE adalah sebuah function yang menghasilkan nilai:

Date

Time

SELECT sysdateFROM dual;

Page 20: Fungsi Bawaan Oracle

Aritmatika pada Tanggal

Penambahan atau pengurangan sebuah angka ke atau dari tanggal tertentu

Membagi dua tanggal untuk mencari jumlah hari diantara dua tanggal tersebut

Menambahkan jam ke tanggal dengan membagi jam dengan nilai 24

SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKSFROM employeesWHERE department_id = 90;

Page 21: Fungsi Bawaan Oracle

Function Manipulasi Tanggal

Hari berikutnyaNEXT_DAY

Hari terakhir pada suatu bulanLAST_DAY

Pembulatan tanggalROUND

Pemotongan tanggalTRUNC

Jumlah bulan diantara dua tanggalMONTHS_BETWEEN

Menambahkan satu bulan pada tanggal tertentuADD_MONTHS

HasilFunction

Page 22: Fungsi Bawaan Oracle

Function Manipulasi Tanggal (2)

'08-SEP-95'NEXT_DAY ('01-SEP-95','FRIDAY')

'28-FEB-95'LAST_DAY ('01-FEB-95')

19.6774194MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')

‘29-FEB-96'ADD_MONTHS (‘31-JAN-96',1)

HasilFunction

Page 23: Fungsi Bawaan Oracle

ROUND and TRUNC Functions untuk Tanggal

Asumsikan SYSDATE = '25-JUL-03':

01-JUL-03TRUNC(SYSDATE ,'MONTH')

01-JAN-03TRUNC(SYSDATE ,'YEAR')

01-AUG-03ROUND(SYSDATE,'MONTH')

01-JAN-04ROUND(SYSDATE ,'YEAR')

ResultFunction

Page 24: Fungsi Bawaan Oracle

Referensi

Oracle Database 10g. SQL Fundamental 1 – Student Guide Volume 1. California: Oracle Publisher 2004.

Oracle Database 10g. SQL Reference 10g Release 2. California: Oracle Publisher 2005.

Oracle Database 11g. SQL Language Reference 11g Release 2. July 2013