Contoh database dan 2 buah tabel:
create database [Belajar Dari Buku]
use [Belajar Dari Buku]
create table buku
(
kd_buku varchar (10) not null primary key,
jdl_buku varchar (50) not null,
isbn varchar (20) not null,
pengarang varchar (50) not null,
penerbit varchar (20) not null,
thn_terbit varchar (40) not null,
jml_hal smallint not null,
tgl_beli datetime not null,
jns_buku varchar (10) not null)
create table pegawai
(
nip varchar (10) not null primary key,
nm_kar varchar (10) not null,
almt_kar varchar (10) not null,
kd_pos varchar (10),
telp varchar (10),
tmpt_lhr varchar (10),
tgl_lhr datetime not null,
jns_kel varchar (10) not null,
tgl_masuk datetime not null )
Setelah membuat contoh database dan 2 tabel, dibawah ini akan dijelaskan tentang pemakaian fungsi-fungsi dalam Transact_SQL(T-SQL). T-SQL dikelompokkan dalam dua kelompok, yaitu:
A.) Fungsi aggregate
B.) Fungsi skalar
Penjelasan:
A.) Fungsi aggregate
Yaitu fungsi yang diterapkan terhadap sekumpulan data pada sebuah field dan menghasilkan nilai tunggal, terdiri dari:
- AVG = fungsi ini digunakan untuk mencari nilai rata-rata pada sebuah field. Data yang ada pada field tersebut harus numerik.
- MAX = fungsi ini digunakan untuk mencari terbesar diantara data yang ada pada suatu field. Fungsi ini dapat mencari nilai terbesar dari field numerik, string dan datetime.
- MIN = fungsi ini gunanya hampir sama dengan fungsi MAX, namun fungsi ini mencari nilai terkecil pada field yang bersangkutan.
- SUM = fungsi ini digunakan untuk melakukan penjumlah terhadap sebuah field yang tipe datanya numerik.
- COUNT = fungsi ini digunakan untuk menghitung semua nilai tertentu pada sebuah field. Fungsi ini akan mengembalikan nilaiberupa jumlah baris yang memenuhi kriteria perthitungan tanpa terpengaruh nilai dari field tersebut ada yang null atau tidak.
- COUNT_BIG = fungsi ini serupa dengan fungsi COUNT, tetapi hasilnya bertipe data bigint.
B.) Fungsi skalar
Yaitu fungsi yang digunakan dalam pembuatan ekspresi skalar. Fungsi ini bekerja pada satu nilai saja. Berbeda jauh dengan fungsi aggregate yang bekerja pada kelompok data dalam field.B.1) Fungsi angka skalar
Yaitu fungsi yang digunakan untuk melakukan operasi matematika terhadap nilai numerik tertentu.terdiri dari:- ABS(n) = fungsi ini mengembalikan nilai absolut dari n. Jadi bilangan negatif yang dimasukkan akan dikembalikan sebagai bilangan positif.Contoh:
select abs(-230)select abs (120)Hasil:-----------230(1 row(s) affected)-----------120(1 row(s) affected) - ACOS(n) = fungsi ini digunakan untuk mencari nilai arc cosinus dari n.
Contoh:
select acos (0.30)
Hasil:----------------------1,2661036727795(1 row(s) affected) - ASIN(n) = fungsi ini digunakan untuk mencari nilai arc sinus dari n select asin (1)
Contoh:
select asin (1)
Hasil:----------------------1,5707963267949(1 row(s) affected) - ATAN(n) = fungsi ini digunakan untuk mencari nilai arc tangent dari n.
Contoh:
select atan (1)
Hasil:----------------------0,785398163397448(1 row(s) affected) - ATN2(n,m) = fungsi ini digunakan untuk mencari nilai arc tangent dari n.
Contoh:
select atn2 (90,2)
Hasil:
----------------------1,54857776146818(1 row(s) affected) - CEILING(n) = fungsi ini digunakan untuk membulatkan bilangan desimal ke bilangan yang terdekat. Pembulatan dapat dilakukan pada bilangan positif atau negatif, tetapi pembulatan terhadap bilangan positif dan negatif berbeda.
Contoh:
select ceiling (3.8)select ceiling (-3.8)
Hasil:---------------------------------------4(1 row(s) affected)----------------------------------------3(1 row(s) affected) - COS(n) = fungsi ini digunakan untuk mencari nilai cosinus dari n. Hasil yang diberikan oleh fungsi ini juga bertipe data float.
Contoh:
select cos(0)
Hasil:
----------------------1(1 row(s) affected) - COT(n) = fungsi ini digunakan untuk mencari nilai cotangent dari n dan menghasilkan nilai float.
Contoh:
select cot(1)
Hasil:
----------------------0,642092615934331(1 row(s) affected) - DEGREES(n) = fungsi ini digunakan untuk melakukan konversi dari radian ke derajat.
Contoh:
select degrees(1)
Hasil:
-----------57(1 row(s) affected) - EXP(n) = fungsi ini digunakan untuk menghitung nilai e pangkat n.
Contoh:
select exp(2)
Hasil:
----------------------7,38905609893065(1 row(s) affected - FLOOR(n) = fungsi ini digunakan untuk melakukan pembulatan ke arah bawah pada bilangan n.
Contoh:
select floor(3.89)
Hasil:
---------------------------------------3(1 row(s) affected) - LOG(n) = fungsi ini digunakan untuk menghitung nilai logaritma dari n.
Contoh:
select log(5)
Hasil:
----------------------1,6094379124341(1 row(s) affected) - LOG10(n) = fungsi ini digunakan untuk menghitung nilai logaritma basis 10 dari bilangan n.
Contoh:
select log10(10)
select log10(100)
select log10(1000)
Hasil:
(1 row(s) affected)----------------------2(1 row(s) affected)----------------------3(1 row(s) affected) - PI(n) = fungsi ini digunakan untuk mengembalikan nilai phi yaitu 3.14.
Contoh:
select pi()
Hasil:
----------------------3,14159265358979(1 row(s) affected) - POWER(n,m) = fungsi ini digunakan untuk malakukan perpangkatan n pangkat m.
Contoh:
select power(3,3)
Hasil:
-----------27(1 row(s) affected) - RADIANS(n) = fungsi ini digunakan untuk melakukan konversi dari derajat ke radian bilangan n.
Contoh:
select radians(180)
Hasil:
-----------3(1 row(s) affected) - RAND(n) = fungsi ini digunakan untuk menghasilkan angka acak sembarang angka diantara 0 dan 1.
Bilangan acak yang dihasilkan bertipe data float. Jika nilai n tidak diisi dan perintah diesekusi
secara terus-menerus, maka akan mendapatkan hasil yang berbeda-beda.
Contoh:
select rand()
Hasil:
----------------------0,741645482559934(1 row(s) affected) - ROUND(n,p,[t]) = fungsi ini digunakan untuk melakukan pembulatan dengan n = bilangan yang akan dibulatkan p = jika nilainya positif, maka pembulatan akan dilakukan pada bagian belakang koma/titik, sedangkan negatif pembulatan akan dilakukan pada angka di depan koma/titik t (opsional) = untuk memotong nilai n.
Contoh:
select round(123.8877,-1,1)
select round(123.8877,0)
select round(123.8877,1)
select round(123.8877,2,1)
select round(123.8877,3,1)
Hasil:
---------------------------------------120.0000(1 row(s) affected)---------------------------------------124.0000(1 row(s) affected)---------------------------------------123.9000(1 row(s) affected)---------------------------------------123.8800(1 row(s) affected)---------------------------------------123.8870(1 row(s) affected) - ROWCOUNT_BIG() = fungsi ini digunakan untuk menghitung jumlah baris yang terpengaruh oleh perintah SQL yang terakhir dieksekusi. Tipe data dari nilai kembaliannya adalah BIGINT. Hasilnya adalah 1 karena query terakhir yang dieksekusi adalah fungsi round diatas yang hasilnya memang hanya satu baris. Bila perintah query sebelumnya mengandung kesalahan, maka hasilnya akan 0.
Contoh:
select rowcount_big()
Hasil:
--------------------1(1 row(s) affected) - SIGN(n) = fungsi ini akan mendeteksi apakah sebuah bilangan n memiliki tanda. Bila n bernilai negatif, maka hasilnya akan -1, tetapi jika positif hasilnya akan 1, bila n = 0, maka hasilnya juga akan 0.
Contoh:
select sign(239)select sign(-578)select sign(0)
Hasil:(1 row(s) affected)------------1(1 row(s) affected)-----------0(1 row(s) affected) - SIN(n) = fungsi ini digunakan untuk mencari nilai dari n.Contoh:
select sin(90)
Hasil:----------------------0,893996663600558(1 row(s) affected) - SQRT(n) = fungsi ini digunakan untuk mencari akar pangkat dari n.
Contoh:
select sqrt(25)
Hasil:
----------------------5(1 row(s) affected) - SQUARE(n) = fungsi ini digunakan untuk melakukan perpangkatan dari n.
Contoh:
select square(9)
Hasil:
----------------------81(1 row(s) affected) - TAN(n) = fungsi ini digunakan untuk mencari nilai tangent dari n. Hasil dari fungsi ini adalah tipe data float.
Contoh:
select tan(45)
Hasil:
----------------------1,61977519054386(1 row(s) affected)
B.2) Fungsi tanggal skalar
Yaitu fungsi yang memiliki kegunaan untuk mendapatkan nilai-nilai seputar data tanggal, misalnya nama hari, tanggal saat ini, nama bulan, dsb.- GETDATE() - fungsi ini digunakan untuk mendapatkan data tanggal saat ini beserta dengan waktunya hingga ketepatan 100 milidetik. Format data tanggal yang ditampilkan yaitu yyyy-mm-dd hh:mm:ss.Contoh:select getdate()Hasil:-----------------------2014-03-07 17:24:50.777(1 row(s) affected)
- DATEPART(item,tanggal) = fungsi ini digunakan untuk mendapatkan nilai tertentu(item)dari tanggal yang disertakan.
Contoh:
select datepart(year,getdate())
select datepart(month,getdate())
select datepart(day,getdate())
select datepart(hour,getdate())
select datepart(minute,getdate())
select datepart(second,getdate())
Hasil:
-----------2014(1 row(s) affected)-----------3(1 row(s) affected)-----------7(1 row(s) affected)-----------17(1 row(s) affected)-----------26(1 row(s) affected)-----------26(1 row(s) affected)
Contoh lain dalam format mm-dd-yyyy.
Contoh:
select datepart(day,'03-07-2014')
Hasil:
-----------7(1 row(s) affected)
Contoh lain, mencari nama hari (hasilnya dalam bentuk integer) dari sebuah tanggal. Bila hasil eksekusi adalah 1 adalah hari Minggu, berarti 5 adalah untuk hari Kamis.
Contoh:
select datepart(weekday,'03-07-2014')
Hasil:
-----------6(1 row(s) affected) - DATENAME(item,date) = fungsi ini digunakan untuk mendapatkan nama hari dari tanggal tertentu.
Contoh:
select datename(year,getdate())
select datename(month,getdate())
select datename(weekday,getdate())
Hasil:
------------------------------2014(1 row(s) affected)------------------------------March(1 row(s) affected)------------------------------Friday(1 row(s) affected) - DATEDIFF(item,dat1,dat2) = fungsi ini digunakan untuk mendapatkan berapa "jarak" antara dua tanggal (dat1,dat2). Hasilnya berupa integer.
Contoh:
select datediff(year,'02-19-2013',getdate())
select datediff(month,'02-19-2013',getdate())
select datediff(day,'02-19-2013',getdate())
Hasil:
-----------1(1 row(s) affected)-----------13(1 row(s) affected)-----------381(1 row(s) affected) - DATEADD(l,n,d) = fungsi ini akan menambahkan tanggal tertentu d, dengan item i tertentu (misalkan ditambah bulan/month atau hari/day), dengan sejumlah bilangan n. Contoh dibawah ini, yaitu bila Anda ingin mengetahui 5 tahun,bulan,hari lagi dari tanggal saat ini.
Contoh:
select dateadd(year,5,getdate())
select dateadd(month,5,getdate())
select dateadd(day,5,getdate())
Hasil:
-----------------------2019-03-07 17:32:17.843(1 row(s) affected)-----------------------2014-08-07 17:32:17.843(1 row(s) affected)-----------------------2014-03-12 17:32:17.843(1 row(s) affected)
B.3) Fungsi string skalar
Yaitu fungsi yang digunakan untuk melakukan operasi tertentu pada string seperti menghitung panjang string, menyisipkan, memotong, menggabungkan, dll.- ASCII(karakter) = digunakan untuk melakukan konversi dari karakter ke kode ASCII-nya. Hasilnya berupa integer.Contoh:select ascii(0)select ascii(1)select ascii(9)select ascii('A')select ascii('B')select ascii('Z')Hasil:-----------48(1 row(s) affected)-----------49(1 row(s) affected)-----------57(1 row(s) affected)-----------65(1 row(s) affected)-----------66(1 row(s) affected)-----------90(1 row(s) affected)
- CHAR(int) = fungsi ini digunakan untuk mengkonversi kode ASCII menjadi karakter.
Contoh:
select char(65)
select char(90)
Hasil:
----A(1 row(s) affected)----Z(1 row(s) affected) - CHARINDEX(x1,x2) = fungsi ini digunakan untuk mengembalikan nilai integer dimana x1 pertama muncul pada string x2. Nilai yang dikembalikan akan bernilai 0 jika x1 tidak ada pada string x2.
Contoh:
select charindex('y','herry')
select charindex('r','herry')
select charindex('b','herry')
Hasil:
-----------5(1 row(s) affected)-----------3(1 row(s) affected)-----------0(1 row(s) affected) - DIFFERENCE(x1,x2) = fungsi ini digunakan untuk membandingkan dua buah string (x1,x2) apakah bunyi yang sama. Kemudian mengembalikan nilai integer antara 0 hingga 4 dimana nilai 0 berarti tidak ada kemiripan bunyi.
Contoh:
select difference('kliping','kuping')
select difference('kli','kuping')
select difference('kliping','ooo')
Hasil:
-----------3(1 row(s) affected)-----------1(1 row(s) affected)-----------0(1 row(s) affected) - LEFT(s,pjg) = fungsi ini digunakan untuk mengembalikan string sepanjang (pjg) karakter dari sebelah kiri string s.
Contoh:
select left('herry',3)
Hasil:
----her(1 row(s) affected) - LEN(x) = fungsi ini digunakan untuk mengembalikan nilai integer tentang panjang string x termasuk spasi kosong.
Contoh:
select len('A B C')
select len('Sistem Informasi Penjualan')
Hasil:
-----------5(1 row(s) affected)-----------26(1 row(s) affected) - LOWER(string) = fungsi ini digunakan untuk membuat sebuah huruf pada string didalam kurung menjadi huruf kecil.
Contoh:
select lower('TEMPAT PENSIL')
Hasil:
-------------tempat pensil(1 row(s) affected) - LTRIM(string) = fungsi ini digunakan untuk menghilangkan spasi kosong disebelah kanan dan kiri didalam kurung.
Contoh:
select ltrim(' Hello')
Hasil:
------Hello(1 row(s) affected) - NCHAR(integer) = fungsi ini akan mengembalikan nilai karakter unicode yang kodenya diberikan dalam tanda kurung.
Contoh:
select nchar(1)
select nchar(220)
select nchar(353)
select nchar(498)
select nchar(535)
select nchar(5787)
select nchar(7532)
select nchar(823)
Hasil:
----(1 row(s) affected)----Ü(1 row(s) affected)----š(1 row(s) affected)----Dz(1 row(s) affected)----ȗ(1 row(s) affected)----᚛(1 row(s) affected)----ᵬ(1 row(s) affected)----̷(1 row(s) affected) - QUOTENAME(string_kar) = fungsi ini untuk mengembalikan string unicode dengan delimater untuk membuat string yang diinputkan menjadi delimeted identifier yang sah.
Contoh:
select quotename('dunia')
select quotename(123)
Hasil:
----------------------------------------------------[dunia](1 row(s) affected)----------------------------------------------------[123](1 row(s) affected) - PATINDEX(%p%,string) = fungsi ini bertugas untuk mencari posisi awal dari pola %p% pada string yang disertakan, mengembalikan nilai integer dan akan mengembalikan nilai 0 apabila pola %p% tidak ditemukan.
Contoh:
select patindex('% %','aku cinta indonesia')
select patindex('%done%','aku cinta indonesia')
select patindex('%siah%','aku cinta indonesia')
Hasil:
-----------4(1 row(s) affected)-----------13(1 row(s) affected)-----------0(1 row(s) affected)
Perintah pertama akan mencari di posisi manakah spasi pertama kali ditemukan, perintah kedua akan mencari di posisi manakah "done" pertama kali ditemukan, perintah ketiga akan mencari di posisi manakah "siah" pertama kali ditemukan. Di perintah ketiga tidak ditemukan, maka hasil eksekusi yang didapatkan adalah 0. - REPLACE(str1,str2,str3) = fungsi ini bertugas untuk menggantikan str2 yang ada pada str1 dengan str3.
Contoh:
select replace('menari','m','p')
select replace('penyanyi','pe','ber')
Hasil:
----------------------------------------------------penari(1 row(s) affected)-----------------------------------------------------bernyanyi(1 row(s) affected) - REPLICATE(string,jml) = fungsi ini digunakan untuk membuat replika dari string dengan jumlah tertentu.
Contoh:
select replicate('*',10)
select replicate('Hallo ',5)
Hasil:
----------**********(1 row(s) affected)------------------------------Hallo Hallo Hallo Hallo Hallo(1 row(s) affected) - REVERSE(string) = fungsi ini digunakan untuk melakukan pembalikan string yang disertakan.
Contoh:
select reverse('original')
Hasil:
--------lanigiro(1 row(s) affected) - RIGHT(string,jml) = fungsi ini akan mengembalikan nilai string yang berasal dari sebelah kanan string dengan jumlah yang telah ditentukan.
Contoh:
select right('java jazz festival',12)
select left('java jazz festival',12)
Hasil:
------------azz festival(1 row(s) affected)------------java jazz fe(1 row(s) affected)
Contoh perintah 1 untuk right dan perintah 2 untuk left. - RTRIM(string) = fungsi ini bertugas menghilangkan spasi kosong disebelah kanan string yang disertakan.
Contoh:
select rtrim('Beli ')
Hasil:
-----Beli(1 row(s) affected) - SOUNDEX(a) = fungsi ini mengembalikan 4 karakter yang melambangkan kesamaan antara dua string yang hampir sama.
Contoh:
select soundex('thunder')
select soundex('pelangi')
Hasil:
-----T536(1 row(s) affected)-----P452(1 row(s) affected) - SPACE(jml) = fungsi ini akan memberikan spasi sejumlah yang telah ditetapkan.
Contoh:
select space(3)
Hasil:
----(1 row(s) affected) - STR(fp,p,d) = fungsi ini akan mengubah nilai floating point (fp) menjadi string dengan panjang = p dan sejumlah d digit di belakang titik desimal.
Contoh:
select str(78.587933989,8,0)
select str(78.587933989,8,2)
select str(78.587933989,8,8)
Hasil:
--------79(1 row(s) affected)--------78.59(1 row(s) affected)--------78.58793(1 row(s) affected) - STUFF(str1,posisi,pjg,str2) = fungsi ini digunakan untuk menggantikan bagian dari str1 dengan posisi dan panjang karakter yang telah ditentukan dengan str2.
Contoh:
select stuff('komputerisasi',7,7,'ing')
Hasil:
---------komputing(1 row(s) affected)
Perintah diatas akan menggantikan huruf ketujuh (dari kiri) sepanjang tujuh karakter pada string 'komputerisasi' dengan string 'ing'. - SUBSTRING(string,posisi,pjg) = fungsi ini bertugas mengambil sejumlah karakter (pjg) dari posisi tertentu pada string yang disertakan.
Contoh:
select substring('Linus Benedict Torvalds',7,10)
Hasil:
----------Benedict T(1 row(s) affected)
Perintah diatas akan mengambil 10 karakter (termasuk spasi) dari posisi ke- 7 pada string 'Linus Benedict Torvalds'. - UNICODE = fungsi ini akan mengembalikan nilai integer yang terdapat pada kode unicode standar dari karakter pertama yang diinputkan.
Contoh:
select unicode('baju')
Hasil:
-----------98(1 row(s) affected)
Fungsi akan mengambil karakter pertama dari string yang diinputkan yaitu 'b'. Jadi perintah akan mencari kode unicode dari huruf b. - UPPER(string) = fungsi ini digunakan untuk mengubah string yang disertakan menjadi berhuruf kapital semuanya.
Contoh:
select upper('Permen Rasa Melon')
Hasil:
-----------------PERMEN RASA MELON(1 row(s) affected)
B.4) Fungsi sistem skalar
Yaitu fungsi yang dapat mengakses informasi tertentu tentang obyek-obyek database. Hampir semua fungsi ini menggunakan ID numerik yang sudah ada pada tiap obyek database pada saat pembuatannya. Dengan cara ini, sistem dapat mengidentifikasi secara tepat tiap obyek database.- CAST(x AS tipe[(pjg)]) = fungsi ini digunakan untuk melakukan konversi tipe data ke tipe data lainnya. x = nilai atau ekspresi.
Contoh:
select cast(27.80 as integer)
select cast(0.32 as integer)
Hasil:-----------27(1 row(s) affected)-----------0(1 row(s) affected)
Pada perintah diatas Anda akan mengubah tipe data floating point 27.80 dan 0.32 menjadi bertipe data integer. Bila Anda mengubah tipe data pecahan menjadi integer, maka Anda akan kehilangan angka yang ada dibelakang titik desimal. - COALESCE(x1,x2,...) = fungsi ini akan mengembalikan nilai pertama yang ada pada daftar.
Contoh:
select coalesce(11,258,237)
Hasil:
-----------11(1 row(s) affected) - COL_LENGTH(obyek_db,field) = fungsi ini digunakan untuk mengetahui panjang sebuah field dari sebuah objek database (table atau view).
Contoh:
select col_length('pegawai','almt_pegawai')
Hasil:
------NULL(1 row(s) affected)
Perintah diatas akan mencari lebar field almt_pegawai dari tabel pegawai. Apabila tabel masih kosong, maka nilai yang dikembalikan adalah null, bukan 0. - CONVERT(tipe[(pjg)],ekspresi/nilai) = fungsi ini memiliki kegunaan yang sama dengan CAST, tetapi bentuknya berbeda.
Contoh:
select convert(integer, 27.80)
Hasil:
-----------27(1 row(s) affected) - CURRENT_TIMESTAMPT = fungsi ini akan mengembalikan nilai tanggal dan waktu sekarang.
Contoh:
select current_timestamp
Hasil:
-----------------------2014-03-07 18:10:17.500(1 row(s) affected) - CURRENT_USER = fungsi ini akan mengembalikan nama user yang sedang aktif.
Contoh:
select current_user
Hasil:
--------------------------dbo(1 row(s) affected) - DATALENGTH(nilai/ekspresi) = fungsi ini digunakan untuk menghitung panjang sebuah data (nilai/ekspresi) dalam byte.
Contoh:
select datalength(7.325789)
select datalength(7325789.35789008785)
select datalength(123)
select datalength(1)
Hasil:
-----------5(1 row(s) affected)-----------9(1 row(s) affected)-----------4(1 row(s) affected)-----------4(1 row(s) affected) - GETANSINULL('nama_db') = fungsi ini akan mengembalikan nilai integer 1 apabila penggunaan null dalam database yang disebutkan sesuai dengan stander ANSI SQL.
Contoh:
select getansinull('Belajar Dari Buku')
Hasil:
------1(1 row(s) affected)
Penggunaan perintah diatas menghasilkan nilai 1 yang berarti penggunaan null dalam database Belajar Dari Buku telah sesuai dengan standar ANSI SQL. - ISNULL(nilai/ekspresi,nilai) = fungsi ini akan melakukan tes terhadap nilai atau ekspresi yang ada pada argumen apakah nilainya null atau tidak. Jika nilai dari ekspresi atau nilai tersebut adalah null, maka nilai setelah koma akan ditampilkan atau dikerjakan.
Contoh:
select isnull('null','ini adalah null')
select isnull(null,'ini adalah null')
Hasil:
----null(1 row(s) affected)---------------ini adalah null(1 row(s) affected) - ISNUMERIC(ekspresi) = fungsi ini akan melakukan tes terhadap ekspresi yang disertakan apakah ekspresi tersebut numerik atau tidak. Hasil dari fungsi ini adalah integer yang bernilai 1 bila benar ekspresi tersebut numerik, sedangkan bernilai 0 bila ekspresi tersebut bukan numerik.
Contoh:
select isnumeric('hello')
select isnumeric('123')
select isnumeric(123)
Hasil:
-----------0(1 row(s) affected)-----------1(1 row(s) affected)-----------1(1 row(s) affected)
Dari ketiga perintah diatas hanya perintah pertama yang meghasilkan nilai 0, artinya perintah pertama yang memiliki argumen yang bukan numerik. - NEWID() = fungsi ini membuat sebuah numerik ID yang unik,yang terdiri atas 16 byte string binary. ID ini digunakan untuk menyimpan nilai dari tipe data UNIQUEIDENTIFIER. Jika perintah dieksekusi berkali-kali, maka hasil yang didapatkan berbeda-beda.
Contoh:
select newid()
Hasil:
------------------------------------F06B1E5D-D60F-45D1-9888-F70E59BB9015(1 row(s) affected) - NEWSEQUENTIALID() = fungsi ini digunakan untuk membuat GUID yang lebih besar dari yang pertama kali dibuat oleh fungsi ini pada komputer tertentu. Fungsi ini hanya dapat dipergunakan sebagai nilai standar untuk sebuah field.
- NULLIF(ekspresi1,ekspresi2) = fungsi ini mengembalikan nilai null jika ekspresi yang pertama = ekspresi kedua.
Contoh:
select nullif('hello','hello')
select nullif('hello','hai')
Hasil:
-----NULL(1 row(s) affected)-----hello(1 row(s) affected) - SERVERPROPERTY(nama_properti) = fungsi ini mengembalikan hasil berupa informasi dari properti yang disebutkan pada server database.
- SYSTEM_USER = fungsi ini mengembalikan nilai login dari user yang sedang aktif sekarang.
Contoh:
select system_user
Hasil:
--------------------------BIANKA\Dini(1 row(s) affected) - USER_NAME([id]) = fungsi ini mengembalikan nama dari user dengan id yang telah ditentukan pada argumen. Bila id tidak diberikan, maka nama dari user yang sekarang sedang aktif yang akan diambil.
Contoh:
select user_name()
Hasil:
--------------------------dbo(1 row(s) affected) - USER_ID([USER_NAME]) = fungsi ini mengembalikan nilai integer sebagai identifier dari USER_NAME. Jika tidak ada argumen yang disertakan, maka identifier dari user yang aktif yang akan ditampilkan.
Contoh:
select user_id()
select user_id('dbo')
Hasil:
------1(1 row(s) affected)------1(1 row(s) affected)
B.5) Fungsi metadata skalar
Yaitu fungsi yang dimaksudkan untuk mendapatkan informasi seputar database tertentu dan tentang obyek-obyeknya.- COL_NAME(tabel_id,field_id) = fungsi ini memiliki dua argumen yang tipe data keduanya integer. Untuk mendapatkan ID dari tabel yang Anda maksud, gunakan fungsi OBJECT_ID. Jangan lupa berikan perintah use Belajar Dari Buku terlebih dahulu.Contoh:use [Belajar Dari Buku]select col_name(object_id('pegawai'),3)select col_name(object_id('pegawai'),4)select col_name(object_id('pegawai'),5)Hasil:--------------------------almt_kar(1 row(s) affected)--------------------------kd_pos(1 row(s) affected)--------------------------telp(1 row(s) affected)
Perintah diatas untuk mengetahui nama kolom ketiga, keempat dan kelima pada tabel pegawai yang terdapat pada database Belajar Dari Buku. - COLUMNPROPERTY(id,field,properti) = fungsi ini digunakan untuk mendapatkan informasi tentang field yang telah disebutkan pada argumen..Contoh:select columnproperty(object_id('pegawai'),'telp','precision')
select columnproperty(object_id('pegawai'),'tgl_masuk','precision')
Hasil:
-----------
10
(1 row(s) affected)
-----------
23
(1 row(s) affected) - DATABASEPROPERTY(database,properti) = fungsi ini bertugas mengembalikan nilai properti database yang disertakan pada argumen.Contoh:
select databaseproperty('Belajar Dari Buku','IsNullConcat')
Hasil:
-----------0(1 row(s) affected) - DB_ID([nm_db]) = fungsi ini mengembalikan identifier dari database yang disertakan dalam argumen.
Contoh:
select db_id('Belajar Dari Buku')
select db_id()
Hasil:
------18(1 row(s) affected)------18(1 row(s) affected) - DB_NAME([db_id]) = fungsi ini kebalikan dari fungsi DB_ID([nm_db]). Pada fungsi ini diperlukan ID (integer) dari database untuk mengetahui nama databasenya. Jika hasilnya NULL, berarti identifier keduapuluh pada database tidak ada.
Contoh:
select db_name('18')
select db_name('20')
select db_name('5')
Hasil:
--------------------------Belajar Dari Buku(1 row(s) affected)--------------------------NULL(1 row(s) affected)---------------------------db_PenjualanKarpet(1 row(s) affected) - INDEX_COL(tabel,ID,posisi) = fungsi ini digunakan untuk mencari nama index pada field yang diindex pada tabel yang memiliki ID dan posisi dari index tersebut.
- INDEXPROPERTY(ID,nama_indeks,properti) = fungsi ini digunakan untuk mencari nama index atau nilai propertistatistik dariID tabel, indeks atau nama statistik serta nama properti.
- OBJECT_ID(nm_obyek) = fungsi ini akan menghasilkan bilangan integer sebagai ID dari obyek yang disebutkan namanya pada argumen fungsi..
Contoh:
select object_id('pegawai')
Hasil:
-----------2105058535(1 row(s) affected) - OBJECT_NAME(obyek_id) = fungsi ini kebalikan dari fungsi OBJECT_ID(nm_obyek) digunakan untuk mengetahui nama dari obyek yang memiliki obyek_id yang disertakan dalam argumen.
Contoh:
select object_name ('2105058535')
Hasil:
--------------------------pegawai(1 row(s) affected) - OBJECTPROPERTY(id_obyek,properti) = fungsi ini mengembalikan informasi tentang obyek-obyek milik database yang aktif.
0 komentar:
Post a Comment