Fungsi Bawaan Oracle

Post on 12-Dec-2015

92 views 8 download

Transcript of 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. – drw@politekniktelkom.ac.id

Disusun Oleh:

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

Kompetensi

Mahasiswa dapat menjelaskan tipe-tipe function di SQL

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

Agenda Perkuliahan

Single-row SQL functions

Function Character

Functions Pengolah Angka (Number)

Bekerja dengan Tanggal

Function Manipulasi Tanggal

SQL Functions

Function

Input

arg 1

arg 2

arg n

Function performs action

Output

Resultvalue

Tipe Function di SQL

Single-row functions

Multiple-rowfunctions

Return one result per row

Return one result per set of rows

Functions

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,...)]

Cakupan Single Row Function

Conversion

Character

Number

Date

GeneralSingle-row functions

Function Character

Characterfunctions

LOWERUPPERINITCAP

CONCATSUBSTRLENGTHINSTRLPAD | RPADTRIMREPLACE

Case-conversion functions

Character-manipulationfunctions

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

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';

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

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

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

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

Function TRUNC

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

3

1

1 2

2 3

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';

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';

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

Function SYSDATE

SYSDATE adalah sebuah function yang menghasilkan nilai:

Date

Time

SELECT sysdateFROM dual;

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;

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

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

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

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