Pert 3 – FUNCTION

Download Report

Transcript Pert 3 – FUNCTION

FUNCTION
1
Siti Mukaromah,S.Kom, MCP.



Fungsi mirip dengan operator bahwa mereka
memanipulasi item data dan mengembalikan
hasilnya. Fungsi berbeda dari operator dalam
format argumen mereka. Format ini
memungkinkan mereka untuk beroperasi pada
nol, satu, dua, atau lebih argumen:
fungsi (argumen, argumen, ...)
Fungsi tanpa argumen biasanya mengembalikan
nilai yang sama untuk setiap baris.
2

Fungsi SQL dibangun ke dalam Oracle Database
dan tersedia untuk digunakan dalam berbagai
statement SQL yang sesuai. Jangan bingung
dengan fungsi-fungsi user-defined SQL yang
ditulis dalam PL/SQL.
3

Dalam diagram sintaks untuk fungsi-fungsi SQL,
argumen ditandai dengan datatypes mereka.
Ketika parameter fungsi muncul dalam sintaks
SQL, gantikan dengan salah satu fungsi yang
diuraikan dalam bagian ini. Fungsi
dikelompokkan oleh datatypes dari argumen
mereka dan return value-nya.
4
SINTAKS MENUNJUKKAN KATEGORI DARI
FUNGSI SEBAGAI BERIKUT:
Function
Single Row Function
5

Bagian-bagian yang mengikuti daftar built-in
fungsi SQL pada masing-masing kelompok
diilustrasikan dalam diagram tersebut kecuali
fungsi user-defined. Semua built-in fungsi SQL
ini kemudian dijelaskan dalam urutan abjad.
6
SINGLE ROW FUNCTION

Single Row Function mengembalikan hasil
tunggal untuk setiap baris dari sebuah query
tabel atau view. Fungsi-fungsi tersebut dapat
muncul dalam daftar pilih, klausa WHERE,
START WITH dan klausa CONNECT BY, serta
klausa HAVING.
7
NUMERIC FUNCTIONS

Numeric Functions menerima input numerik dan
mengembalikan nilai numerik. Kebanyakan
Numeric Functions yang mengembalikan nilai
NUMBER yang akurat sampai 38 digit desimal.
Fungsi transendental COS, COSH, EXP, LN,
LOG, SIN, SINH, SQRT, TAN, dan TANH akurat
sampai 36 digit desimal. Fungsi transendental
ACOS, ASIN, ATAN, dan ATAN2 akurat sampai
30 digit desimal.
8
FUNGSI NUMERIK ADALAH:
ABS
 ACOS
 ASIN
 ATAN
 ATAN2
 BITAND
 CEIL
 COS
 COSH
 EXP

FLOOR
 LN
 LOG
 MOD
 NANVL
 POWER
 REMAINDER
 ROUND
(number)
 SIGN
 SIN

SINH
 SQRT
 TAN
 TANH
 TRUNC
(number)
 WIDTH_BUC
KET

9
CHARACTER FUNCTIONS RETURNING
CHARACTER VALUES
Karakter fungsi yang mengembalikan nilai
karakter, nilai pengembaliannya dari datatypes
berikut kecuali dinyatakan dibuktikan:


Jika argumen input CHAR atau VARCHAR2,
maka nilai yang dikembalikan VARCHAR2.
Jika argumen input NCHAR atau NVARCHAR2,
maka nilai yang dikembalikan NVARCHAR2.
10
Panjang (length) nilai yang dikembalikan oleh fungsi
ini dibatasi oleh panjang (length) maksimum dari
datatype yang dikembalikan.


Untuk fungsi yang mengembalikan CHAR atau
VARCHAR2, jika panjang (length) dari nilai
pengembalian melebihi batas, Oracle Database akan
memotong dan mengembalikan hasilnya tanpa pesan
kesalahan.
Untuk fungsi yang mengembalikan nilai CLOB, jika
panjang melebihi batas nilai-nilai pengembalian,
Oracle akan menampilkan kesalahan dan tidak ada
pengembalian data.
11
FUNGSI KARAKTER YANG MENGEMBALIKAN
NILAI KARAKTER ADALAH:
CHR
 CONCAT
 INITCAP
 LOWER
 LPAD
 LTRIM
 NLS_INITCAP
 NLS_LOWER
 NLSSORT
 NLS_UPPER
 REGEXP_REPLACE

REGEXP_SUBSTR
 REPLACE
 RPAD
 RTRIM
 SOUNDEX
 SUBSTR
 TRANSLATE
 TREAT
 TRIM
 UPPER

12
NLS CHARACTER FUNCTIONS

Fungsi karakter NLS mengembalikan informasi
tentang karakter set. Fungsi Karakter NLS
adalah:
NLS_CHARSET_DECL_LEN
 NLS_CHARSET_ID
 NLS_CHARSET_NAME

13
CHARACTER FUNCTIONS RETURNING
NUMBER VALUES


Karakter fungsi yang mengembalikan nilai
angka (number) dapat mengambil sebagai
argumen mereka setiap datatype karakter.
Fungsi karakter yang mengembalikan nilai-nilai
angka (number) :
ASCII
 INSTR
 LENGTH
 REGEXP_INSTR

14
DATETIME FUNCTIONS



Fungsi datetime (Datetime Functions) beroperasi pada nilainilai tanggal (DATE), timestamp (TIMESTAMP,
TIMESTAMP WITH TIME ZONE, dan TIMESTAMP WITH
LOCAL TIME ZONE), dan interval (INTERVAL DAY TO
SECOND, INTERVAL YEAR TO MONTH).
Beberapa fungsi datetime dirancang untuk datatype Oracle
DATE (ADD_MONTHS, CURRENT_DATE, LAST_DAY,
NEW_TIME, dan NEXT_DAY). Jika Anda memberikan nilai
timestamp sebagai argumen mereka, Oracle Database secara
internal mengubah tipe input menjadi nilai DATE dan
mengembalikan nilai DATE. Pengecualian adalah fungsi
MONTHS_BETWEEN, yang mengembalikan angka, dan
fungsi ROUND dan TRUNC, yang tidak menerima timestamp
atau interval nilai sama sekali.
Fungsi datetime lainnya dirancang untuk menerima salah
satu dari tiga jenis data (tanggal, timestamp, dan interval)
dan untuk mengembalikan nilai salah satu jenis.
15
FUNGSI DATETIME ADALAH:














ADD_MONTHS

CURRENT_DATE

CURRENT_TIMESTAMP
DBTIMEZONE

EXTRACT (datetime)

FROM_TZ

LAST_DAY

LOCALTIMESTAMP

MONTHS_BETWEEN

NEW_TIME

NEXT_DAY

NUMTODSINTERVAL
NUMTOYMINTERVAL
ROUND (date)
SESSIONTIMEZONE
SYS_EXTRACT_UTC
SYSDATE
SYSTIMESTAMP
TO_CHAR (datetime)
TO_TIMESTAMP
TO_TIMESTAMP_TZ
TO_DSINTERVAL
TO_YMINTERVAL
TRUNC (date)
TZ_OFFSET
16
GENERAL COMPARISON FUNCTIONS
Fungsi perbandingan umum yang menentukan
nilai terbesar dan atau paling kecil dari satu set
nilai.
Fungsi perbandingan umum adalah:
 GREATEST
 LEAST
17
CONVERSION FUNCTIONS

Conversion Functions (fungsi Konversi)
mengkonversi nilai dari satu datatype ke yang
lain. Secara umum, bentuk nama fungsi
mengikuti konvensi datatype TO datatype.
Datatype yang pertama adalah datatype
masukan (input datatype). Datatype kedua
adalah output datatype.
18
FUNGSI KONVERSI SQL ADALAH:















ASCIISTR
BIN_TO_NUM

CAST

CHARTOROWID
COMPOSE

CONVERT
DECOMPOSE

HEXTORAW
NUMTODSINTERV 
AL
NUMTOYMINTERV 
AL

RAWTOHEX

RAWTONHEX

ROWIDTOCHAR

ROWIDTONCHAR 
SCN_TO_TIMESTA 
MP
TIMESTAMP_TO_S
CN
TO_BINARY_DOUB
LE
TO_BINARY_FLOA
T
TO_CHAR
(character)
TO_CHAR
(datetime)
TO_CHAR (number)
TO_CLOB
TO_DATE
TO_DSINTERVAL
TO_LOB
TO_MULTI_BYTE
TO_NCHAR












(character)
TO_NCHAR
(datetime)
TO_NCHAR
(number)
TO_NCLOB
TO_NUMBER
TO_DSINTERVAL
TO_SINGLE_BYTE
TO_TIMESTAMP
TO_TIMESTAMP_T
Z
TO_YMINTERVAL
TO_YMINTERVAL
TRANSLATE ...
USING
UNISTR
19
LARGE OBJECT FUNCTIONS
Large Object Functions beroperasi pada LOBs.
Fungsi Large Object Functions adalah:
 BFILENAME
 EMPTY_BLOB, EMPTY_CLOB
20
COLLECTION FUNCTIONS
Collection Functions beroperasi pada tabel nested
dan varrays.
Fungsi SQLCollection Functions adalah:
 CARDINALITY
 COLLECT
 POWERMULTISET
 POWERMULTISET_BY_CARDINALITY
 SET
21
HIERARCHICAL FUNCTION


Hierarchical Function menerapkan informasi
jalur hirarkis pada set hasil.
SYS_CONNECT_BY_PATH
22
DATA MINING FUNCTIONS
fungsi data mining yang beroperasi pada model yang telah
dibangun dengan menggunakan paket
DBMS_DATA_MINING atau Oracle Data Mining Java API.
Fungsi data mining SQL adalah:
 CLUSTER_ID
 CLUSTER_PROBABILITY
 CLUSTER_SET
 FEATURE_ID
 FEATURE_SET
 FEATURE_VALUE
 PREDICTION
 PREDICTION_COST
 PREDICTION_DETAILS
 PREDICTION_PROBABILITY
 PREDICTION_SET
23
XML FUNCTIONS

Fungsi XML beroperasi pada dokumen atau
fragmen XML .
24
XML SQL FUNGSI:















APPENDCHILDXML
DELETEXML
DEPTH
EXTRACT (XML)
EXISTSNODE
EXTRACTVALUE
INSERTCHILDXML
INSERTXMLBEFORE
PATH
SYS_DBURIGEN
SYS_XMLAGG
SYS_XMLGEN
UPDATEXML
XMLAGG
XMLCDATA












XMLCOLATTVAL
XMLCOMMENT
XMLCONCAT
XMLFOREST
XMLPARSE
XMLPI
XMLQUERY
XMLROOT
XMLSEQUENCE
XMLSERIALIZE
XMLTABLE
XMLTRANSFORM
25
ENCODING AND DECODING FUNCTIONS

fungsi encoding dan decoding memungkinkan
Anda memeriksa dan decode (membaca kode)
data dalam database.
DECODE
 DUMP
 ORA_HASH
 VSIZE

26
NULL-RELATED FUNCTIONS
NULL-Related Functions memfasilitasi
penanganan null
NULL-Related Functions adalah:
 COALESCE
 LNNVL
 NULLIF
 NVL
 NVL2
27
ENVIRONMENT AND IDENTIFIER
FUNCTIONS

Lingkungan dan fungsi pengenal memberikan
informasi tentang instance dan sesi.
SYS_CONTEXT
 SYS_GUID
 SYS_TYPEID
 UID
 USER
 USERENV

28
AGGREGATE FUNCTIONS

Fungsi Aggregate mengembalikan baris tunggal hasil
berdasarkan kelompok baris, bukan pada baris
tunggal. Fungsi Aggregate dapat muncul dalam
daftar select dan dalam klausa ORDER BY dan
HAVING. Mereka umumnya digunakan dengan
klausa GROUP BY dalam perintah SELECT, di mana
Oracle Database membagi baris dari sebuah tabel
query atau view ke dalam grup. Dalam query yang
mengandung klausa GROUP BY, unsur-unsur dari
daftar select bisa berupa Fungsi Aggregate , ekspresi
GROUP BY, konstanta, atau ekspresi yang
melibatkan salah satunya. Oracle menerapkan fungsi
aggregate untuk setiap kelompok baris dan
mengembalikan hasil baris tunggal untuk setiap
kelompok.
29

Jika Anda menghilangkan klausa GROUP BY,
maka Oracle menerapkan fungsi aggregate
dalam daftar select untuk semua baris dalam
tabel query atau view. Anda menggunakan
fungsi aggregate pada klausa HAVING untuk
menghilangkan kelompok-kelompok dari output
berdasarkan hasil fungsi aggregate, bukan pada
nilai-nilai individu baris tabel query atau view.
30
MODEL FUNCTIONS
Model Functions dapat digunakan hanya dalam
model_clause dari SELECT.
Fungsi model:
 CV
 ITERATION_NUMBER
 PRESENTNNV
 PRESENTV
 PREVIOUS
31
ORACLE/PLSQL: CREATING FUNCTIONS
Di Oracle Anda dapat membuat fungsi sendiri
 Syntax untuk membuat Function:

32
Bila Anda membuat prosedur atau fungsi, Anda dapat
menentukan parameter. Ada tiga jenis parameter
yang dapat dideklarasikan:
1.
IN - Parameter yang dapat direferensikan oleh
prosedur atau fungsi. Nilai parameter tersebut
tidak dapat ditimpa oleh prosedur atau fungsi.
2.
OUT - Parameter yang tidak dapat direferensikan
oleh prosedur atau fungsi, tetapi nilai parameter
dapat ditimpa oleh prosedur atau fungsi.
3.
IN OUT - Parameter yang dapat direferensikan oleh
prosedur atau fungsi dan nilai parameter dapat
ditimpa oleh prosedur atau fungsi.

33
FUNCTIONS WITHOUT PARAMETERS

Simple Function Creation
34
35
FUNCTION WITHOUT PARAMETERS USED
IN A SELECT CLAUSE
36
37
SIMPLE FUNCTION USED IN AN INSERT
STATEMENT
38
SIMPLE FUNCTION USED IN A WHERE
CLAUSE
39
SIMPLE FUNCTION USED IN A VIEW
40
FUNCTIONS WITH PARAMETERS

Fungsi untuk menentukan apakah sebuah string
memiliki format nomor social security yang valid
41
42
43
FUNCTION WITH OUT PARAMETER
44
FUNCTION WITH IN OUT PARAMETER
45