Sabtu, 30 April 2011

Fungsi - Fungsi SQL

Ada dua ketegori fungsi-fungsi dalam Oracle :
1. Single-Row : Menerima satu baris sebagai operand-nya
2. Multiple-Row : Menerima lebih dari satu sebagai operand-nya
Fungsi-fungsi seperti Group By, Sum, Max, Min, Count dan Avg merupakan contoh
fungsi yang termasuk dalam multiple-row.
Sedangkan fungsi-fungsi Single-Row terbagi menjadi :
a. Fungsi Character / String
b. Fungsi Date (Tanggal dan waktu)
c. Fungsi Numeric
d. Fungsi General

Fungsi Karakter / String
merupakan fungsi yang berorientasi ke string, yaitu :

Function
Result
Lower(‘MySQL Database Server’)
Mysql database server
Upper(‘MySQL Database Server’)
MYSQL DATABASE SERVER
Initcap(‘MYSQL DATABASE SERVER’)
Mysql Database Server
Concat(‘MySQL’,’Database Server’)
MySQL Database Server
Substr(‘MySQL Database Server’,3,3)
SQL
Left(‘MySQL Database Server’,5)
MySQL
Right(‘MySQL Database Server’,6)
Server
Length(‘MySQL Database Server’)
22
Instr(‘MySQL Database Server’,’Q’)
4
Ascii(‘a’)
97
Ascii(‘b’)
98
Ascii(null)
Null
Char(65)
A
Conv(‘111111’,2,8)
377
Conv(‘e’,16,2)
1110
Format(1234.56789,3)
1,234.568
Format(1000000.00,0)
1,000,000
Lpad(800,0,’*’)
*****800
Rpad(800,0,’*’)
800*****
Ltrim(‘      TAMAN   ‘)
TAMAN
Rtrim(‘     TAMAN   ’)
       TAMAN
Repeat(‘x’,10)
Xxxxxxxxxx
Repeat(‘abc’,3)
Abcabcabc
Reverse(‘TAMAN)
NAMAT
Replace(‘ada’,’siapa’,’siapakah’)
Adakah
Insert(‘nighttime’,6,4,’fall’)
Nightfall
Trim(‘     TAMAN     ’)
TAMAN

Fungsi Numerik
Merupakan fungsi-fungsi yang beoreintasi pada nilai numerik, yaitu :

Fungsi
Hasil
Keterangan
Truncate(45.923,2)
45.92

Truncate(45.923)
45

Truncate(45.923, -1)
40

Truncate(451.923, -2)
400

Round(45.923, 2)
45.92

Round(45.927, 2)
45.93

Round(45.927)
46

Round(45.927, -1)
50

Round(45.927, -2)
0

Mod(10,3)
1

Sqrt(625)
25

Sign(15.803)
1

Sign(0)
0

Sign(-98)
-1

Floor(3.8)
3
Return the largest integer
Floor(-3.8)
-4
Return the largest integer
Ceiling(3.8)
4
Return the smallest integer
Ceiling(-3.8)
-3
Return the smallest integer
Abs(13.5)
13.5
Absolute value
Abs(-13.5)
13.5
Absolute value
Acos(1)
0.000000
Arccosine of
Cos(0)
1.000000
Cosine of
Cot(PI()/2)
0.000000
Cotangent of
Asin(1)
1.570796
Arcsine of
Sin(0)
0.000000
Sine of
Tan(0)
0.000000
Tangent of
Atan(1)
0.785398
Arctangent of
Log(1)
0.000000
Logaritm of
Log 10(10)
1.000000
Logaritm of
PI()
3.141593
The value of π

Fungsi General
Fungsi general merupakan fungsi yang tidak termasuk dalam fungsi string, numeric dan tanggal. Fungsi - fungsi tersebut antara lain adalah :
  • Fungsi Encode
    digunakan untuk mengkonversikan string tertentu ke binary string.
    Bentuk umum :
    Encode(str, password)
    dimana :
    str adalah string yang akan dikonversi
    password adalah kata kunci untuk perintah konversi tersebut
    Contoh :
    select encode('taman','bunga');
    
  • Fungsi Decode
    Digunakan untuk mengembalikan nilai ke string yang telah dilakukan proses encode.
    bentuk umum
    Decode(str, password)
    Keterangan :
    str adalah string yang nilainya akan dikembalikan
    password adalah kata kunci untuk perintah konversi tersebut
    Contoh :
    select decode(encode('taman','bunga'),'bunga');
    
Fungsi Tanggal dan Waktu
SQL92 menyediakan ekspresi DATE, TIME, NOW(), SYSDATE() dan TIMESTAMP.
DATE : menyatakan sebuah tanggal dengan susunan yyyy-bb-tt
TIME : menyatakan waktu dengan format jj:mm:dd
TIMESTAMP : menyatakan sebuah tanggal dan waktu, misalnya 1964-9-1 5:32:24
NOW() akan menghasilkan sebuah tanggal dan waktu seperti Timestamp
contoh :
menampilkan nama mahasiswa dan tanggal lahir yang tanggal lahirnya diatas tanggal 1964/9/1
select nama,tgl_lhr from mhs where tgl_lhr > date '1977/01/01';
atau
select nama,tgl_lhr from mhs where tgl_lhr > '1977/01/01';
atau
select nama,tgl_lhr from mhs where tgl_lhr > date '1977-01-01';
Sql menyediakan sejumlah fungsi tanggal sebagai berikut :

Fungsi
Keterangan
Current_date atau Curadate()
Menghasilkan tanggal sekarang
Current_time atau Curtime()
Menghasilkan waktu sekarang
Current_timestamp
Menghasilkan tanggal dan waktu sekarang
Month()
Menghasilkan angka nomor utut bulan
Monthname()
Menghasilkan nama bulan
Dayofmonth()
Menghasilkan angka nomor urut tanggal
Year()
Menghasilkan angkat tahun
Dayname()
Menghasilkan nama hari
Hour()
Menghasilkan angka jam
Minute()
Menghasilkan angka menit
Second()
Menghasilkan angka detik
Weekday()
Manghasilkan angka urut dalam satu minggu
contoh 1 :
select current_date, current_time, current_timestamp;
hasilnya :
2011-04-09      07:10:42     2011-04-09 07:10:42
contoh 2 :
select monthname(current_date),month(current_date),year(current_date);
hasilnya :
april       8      2011
contoh 3 :
select nama, floor((to_days(current_date)-to_days(tgl_lhr))/365) as umur from mhs;
hasilnya :
dedi    25
select nama,(to_days(current_date)-to_day(tgl_lhr))/365 as umur from mhs;
hasilnya :
dedi    25.82
select nama,year(current_date)-year(tgl_lhr) as umur from mhs;
hasil : 
dedi    26
contoh 4 :
menampilkan nama mahasiswa yang usianya lebih dari atau sama dengan 20 tahun.
select nama from mhs where year(current_date)-year(tgl_lhr) >= 20;

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India