Teknologi & Informasi

Teknologi & Informasi

Jumat, 20 Oktober 2017

Dasar - Dasar ORACLE (Seri 9)

Fungsi - Fungsi SQL di Oracle.

Fungsi Single Row.

COALESCE
Fungsi coalesce mengembalikan nilai bukan null pertama dalam daftar ekspresi.
Contoh : Query berikut mengembalikan gaji + komisi, jika komisi adalah nol maka mengembalikan gaji, jika gaji juga nihil maka imbal 1000.

select empno,ename,salary,comm,coalesce(salary+comm,salary,1000) “Net Sal” from employee;

ENAME     SALARY    COMM NET SAL
-----     ------    ---- -------
SMITH     1000      100  1100
SAMI      3000           3000 
SCOTT                    1000
RAVI               200   1000


DECODE

DECODE(expr, searchvalue1, result1,searchvalue2,result2,..., defaultvalue)

Fungsi decode membandingkan expr dengan nilai pencarian satu per satu. Jika expr tidak sesuai dengan nilai pencarian maka akan mengembalikan nilai default. Jika nilai default dihilangkan maka return null.
Contoh : Permintaan berikut mengembalikan nama departemen sesuai deptno. Jika deptno tidak sesuai dengan nilai pencarian maka kembali "Unknown Department"

select decode(deptno,10,'Sales',20,'Accounts,30,'Production,
          40,'R&D','Unknown Dept') As DeptName from employee;

DEPTNAME
----------
Sales
Accounts
Unknown Dept.
Accounts
Production
Sales
R&D
Unknown Dept.

GREATEST

GREATEST(expr1, expr2, expr3,expr4...)

Mengembalikan expr terbesar dari daftar expr. Contoh :

Contoh 1 :
select greatest(10,20,50,20,30) from dual;

GREATEST
--------
50

Contoh 2 :
select greatest('SAMI','SCOTT','RAVI','SMITH','TANYA') from dual;

GREATEST
--------
TANYA


LEAST

LEAST(expr1, expr2, expr3,expr4...)

Hal ini simillar untuk terbesar. Ini mengembalikan expr paling sedikit dari daftar ekspresi, contoh :

Contoh 1 :
select least(10,20,50,20,30) from dual;

LEAST
--------
10

Contoh 2 :
select least('SAMI','SCOTT','RAVI','SMITH','TANYA') from dual;

LEAST
--------
RAVI


NVL

NVL2(expr1,expr2)

Fungsi ini sering digunakan untuk memeriksa nilai null. Ini mengembalikan expr2 jika expr1 adalah null, jika tidak, akan menghasilkan expr1.
Contoh : Query berikut mengembalikan komisi jika komisi null kemudian mengembalikan 'Not Applicable'.

Select ename,nvl(comm,'Not Applicable') “Comm” from dual;

ENAME     COMM
------    ----
Scott     300
Tiger     450
Sami      Not Applicable
Ravi      300
Tanya     Not Applicable

NVL2

NVL2(expr1,expr2,expr3)

NVL2 mengembalikan expr2 jika expr1 tidak null, jika tidak, akan kembali expr3.
Contoh : Permintaan berikut mengembalikan gaji + comm jika comm tidak null, jika tidak hanya mengembalikan gaji.

select salary,comm,nvl2(comm,salary+comm,salary) “Income” from employee;
SALARY    COMM      INCOME
------    ----      ------
1000      100       1100
2000                2000
2300      200       2500
3400                3400

NULLIF

NULLIF(expr1, expr2)

Nullif membandingkan expr1 dengan expr2. Jika mereka sama maka mengembalikan null, jika tidak, return expr1.
Contoh : Permintaan berikut menunjukkan pekerjaan lama dari karyawan yang telah mengubah pekerjaan mereka di perusahaan dengan membandingkan pekerjaan saat ini dengan pekerjaan lama di tabel oldemp.

Select ename,nullif(e.job,o.job) “Old Job” from employeee, oldemployee o where e.empno=o.empno;

ENAME         OLD JOB
-----         -------
SMITH         CLERK
SAMI                    
SCOTT         MANAGER

UID

Mengembalikan ID sesi pengguna saat ini.
Contoh

select uid from dual;

UID
----
20

USER

Mengembalikan nama pengguna dari pengguna saat ini masuk

select user from dual;

USER
---------
SCOTT

SYS_CONTEXT

SYS_CONTEXT mengembalikan nilai parameter yang terkait dengan ruang kelas konteks. Anda dapat menggunakan fungsi ini di kedua pernyataan SQL dan PL / SQL.
CONTOH : Permintaan berikut mengembalikan nama pengguna dari pengguna saat ini.

Select sys_context('USERENV','SESSION_USER') “Username” from dual;

USERNAME
---------
SCOTT

Mirip dengan parameter SESSION_USER untuk namespace USERENV parameter penting lainnya adalah :

ISDBA: Untuk memeriksa apakah pengguna saat ini memiliki hak istimewa DBA atau tidak.

PEMBAWA ACARA: Mengembalikan nama mesin induk tempat klien terhubung.

INSTANSI: Contoh nomor identifikasi instance saat ini

IP_ADDRESS: alamat IP mesin tempat klien terhubung.

DB_NAME: Nama database seperti yang ditentukan dalam parameter inisialisasi DB_NAME

VSIZE

VSIZE(expr)

Mengembalikan representasi internal expr dalam bytes.
Contoh : Query berikut mengembalikan representasi idaman dalam bytes.

select ename,vsize(ename) as Bytes from employee;

ENAME     BYTES
------    ------
SCOTT     5
SAMI      4
RAVI      4
KIRAN     5


Sumber : Disini

Semoga bermanfaat.

Note : Mau uji coba database Oracle download disini.

Oracle Win64

Best Regards







Related Posts:

0 komentar:

Posting Komentar