Lab. Actvity 2: Fungsi-Fungsi MySql Database Systems: Lab. Activity 2: Fungsi-Fungsi MySQL | Agenda. • • • • Fungsi String Fungsi Tanggal dan Waktu Fungsi Numerik Fungsi Lainnya 1 Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi String • Menggabungkan dua atau lebih string/nilai field. SELECT nama_field (yang akan ditampilkan), CONCAT (nama_field1,[separator], nama_field2,...); Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi String • Menggabungkan dua atau lebih string (kolom) dengan separator diantara masing-masing string/nilai field. Sintaks: SELECT CONCAT (str1,[separator], str2,...); 2 1 2 3 Sintaks: SELECT CONCAT_WS ([separator], str1, str2,...); 1 SELECT nama_field (yang akan ditampilkan), CONCAT_WS ([separator], nama_field1, nama_field2,...); 2 Lab. Activity 2: Fungsi-Fungsi MySQL | 4 Fungsi String • Mengambil atau memotong string dimulai dari karakter awal sebanyak panjang karakter. Fungsi String • Menghitung panjang string. Sintaks: Sintaks: LENGTH (string); SUBSTR(string, awal, panjang); SUBSTRING(string, awal, panjang); SUBSTRING(string FROM awal FOR panjang); MID(string, awal, panjang); Lab. Activity 2: Fungsi-Fungsi MySQL | 1 2 3 4 1 2 3 4 OCTET_LENGTH (string); CHAR_LENGTH (string); CHARACTER_LENGTH (string); 5 Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi String • Memotong string dari sebelah kiri sebanyak panjang karakter. 6 Fungsi String • Menghilangkan spasi di awal string (kiri). Sintaks: Sintaks: LEFT (string, panjang); LTRIM (string); • Memotong string dari sebelah kanan sebanyak panjang karakter. • Menghilangkan spasi di akhir string (kanan). Sintaks: Sintaks: RTRIM (string, panjang); RIGHT (string, panjang); Lab. Activity 2: Fungsi-Fungsi MySQL | 7 Lab. Activity 2: Fungsi-Fungsi MySQL | 8 Fungsi String • Menghilangkan spasi di awal (kiri) dan di akhir string (kanan). Fungsi String • Menduplikasi suatu string sebanyak jumlah. Sintaks: Sintaks: TRIM(string); REPEAT (string, jumlah); • Mengganti suatu string dengan string yang lain. • Membalik string. Sintaks: Sintaks: REPLACE (string, from_str, to_str); REVERSE (string); Lab. Activity 2: Fungsi-Fungsi MySQL | 9 Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi String • Mengubah string menjadi huruf kecil (lowercase). Sintaks: LCASE (string); • Mengubah string menjadi huruf besar (uppercase). Sintaks: UCASE (string); Lab. Activity 2: Fungsi-Fungsi MySQL | Sintaks: NOW(); 1 2 SYSDATE(); • Mendapatkan urutan bulan (integer) dari suatu tanggal yang diberikan dalam setahun, dimana 1=Januari, 2=Februari, dst. 1 2 UPPER (string); Fungsi Tanggal dan Waktu • Mendapatkan tanggal dan waktu sistem sekarang. 1 2 LOWER (string); 10 11 Sintaks: MONTH (‘tanggal’); Lab. Activity 2: Fungsi-Fungsi MySQL | 12 Fungsi Tanggal dan Waktu • Mendapatkan urutan minggu (integer) dari suatu tanggal yang diberikan dalam setahun. Fungsi Tanggal dan Waktu • Mendapatkan bilangan jam dari suatu parameter waktu yang diberikan. Sintaks: WEEK (‘tanggal’); Sintaks: HOUR (now()); • Mendapatkan bilangan tahun dari suatu tanggal yang diberikan. Sintaks: YEAR (now()); • Mendapatkan bilangan menit dari suatu parameter waktu yang diberikan. Sintaks: MINUTE (now()); Lab. Activity 2: Fungsi-Fungsi MySQL | 13 Fungsi Tanggal dan Waktu Lab. Activity 2: Fungsi-Fungsi MySQL | 14 Fungsi Tanggal dan Waktu ADDDATE(date,INTERVAL expr type) • Mendapatkan bilangan detik dari suatu parameter waktu yang diberikan. SUBDATE(date,INTERVAL expr type) Sintaks: SECOND (now()); • Fungsi yang digunakan untuk menentukan format tampilan tanggal. • Fungsi-fungsi di bawah ini digunakan untuk menambah suatu tanggal. Sintaks: DATE_FORMAT(date, format) Sintaks: DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type) Lab. Activity 2: Fungsi-Fungsi MySQL | 15 Lab. Activity 2: Fungsi-Fungsi MySQL | 16 Fungsi Tanggal dan Waktu • Fungsi yang digunakan untuk menentukan format tampilan waktu. 4. 5. 6. 7. 8. 9. Sintaks: TIME_FORMAT(time, format) Berikut ini adalah tampilan tanggal dan waktu serta penggunaannya: 1. %M : Nama bulan (January ... December) 2. %W : Nama hari dalam seminggu (Sunday...Saturday) 3. %D : Urutan hari dalam sebulan Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi Tanggal dan Waktu %Y %y %a %H %i %s : Tahun, 4 digit : Tahun, 2 digit : Nama hari dalam seminggu (Sunday...Saturday) : Jam, dalam format 24. : Menit, 00-59 : Detik, 00-59 17 Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi Numerik • Fungsi-fungsi yang berhubungan dengan operasi numerik. • Operasi aritmatika dalam MySQL terdiri dari: + − ∗ / % 18 Fungsi Numerik • Mengambil nilai absolut dari bilangan 𝒙. Sintaks: ABS(bilangan); : Pertambahan : Pengurangan : Perkalian : Pembagian : Sisa hasil bagi, modulus • Mendapatkan hasil pengoperasian 𝑚 modulus 𝑛 Sintaks: MOD (m, n); Lab. Activity 2: Fungsi-Fungsi MySQL | 19 Lab. Activity 2: Fungsi-Fungsi MySQL | 20 Fungsi Numerik • Mengambil nilai integer terbesar yang tidak lebih besar dari bilangan pecahan yang dituliskan. Fungsi Numerik • Mengambil melakukan pembulatan bilangan pecahan 𝒙 sebanyak 𝒅 tempat presisi. Sintaks: FLOOR(bilangan_pecahan); Sintaks: ROUND(x,d); • Mengambil nilai integer terkecil yang tidak lebih kecil dari bilangan pecahan yang dituliskan. • Mengambil hasil pemangkatan dari 𝒙𝒏. Sintaks: POWER(x,n); Sintaks: CEILING(bilangan_pecahan); Lab. Activity 2: Fungsi-Fungsi MySQL | 21 Fungsi Numerik Lab. Activity 2: Fungsi-Fungsi MySQL | 22 Fungsi Lainnya • Mengambil nilai terbesar dari suatu kumpulan nilai. • Memotong bilangan 𝒙 sepanjang 𝒅 tempat desimal. Sintaks: GREATEST(nilai1, nilai2, nilai3, ...); Sintaks: TRUNCATE(x,d); • Mendapatkan nilai terbesar dari suatu ekspresi (query). Sintaks: SELECT MAX(nama_field) FROM nama_tabel; Lab. Activity 2: Fungsi-Fungsi MySQL | 23 Lab. Activity 2: Fungsi-Fungsi MySQL | 24 Fungsi Lainnya • Mengambil nilai terkecil dari suatu ekspresi (query). • Operasi Bitwise: operasi yang dilakukan bit per bit pada data bertipe integer atau byte. Operasi bitwise dalam MySQL terdiri dari: Sintaks: SELECT MIN(nama_field) FROM nama_tabel; • Menghitung rata-rata nilai dari suatu ekspresi (query). | & ^ ~ ≪ ≫ Sintaks: SELECT AVG(nama_field) FROM nama_tabel; • Menjumlahkan total nilai dari suatu ekspresi (query). Sintaks: SELECT SUM(nama_field) FROM nama_tabel; Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi Lainnya : Bitwise OR : Bitwise AND : Bitwise XOR : Bitwise NOT : Shift Kiri: menggeser bit operan sebanyak 𝑛 ke kiri (dikali 2). : Shift Kanan: menggeser bit operan sebanyak 𝑛 ke kanan (dibagi 2). 25 Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi Lainnya • Mengambil nama database yang sedang aktif (terbuka). 26 Fungsi Lainnya • Melakukan enkripsi suatu string. String hasil dari fungsi password() tidak dapat di-decript (decode). Biasanya fungsi ini digunakan untuk menyimpan password login. Sintaks: SELECT DATABASE(); Sintaks: SELECT PASSWORD(string); • Mengambil nama user yang sedang digunakan (aktif). Sintaks: SELECT USER(); • Melakukan enkripsi suatu string 𝒔𝒕𝒓 menggunakan password atau passkey. SELECT SYSTEM_USER(); Sintaks SELECT ENCODE(string, password); SELECT SESSION_USER(); Lab. Activity 2: Fungsi-Fungsi MySQL | 27 Lab. Activity 2: Fungsi-Fungsi MySQL | 28 Fungsi Lainnya • Melakukan enkripsi suatu string 𝒆𝒏𝒄𝒓𝒊𝒑𝒕𝒆𝒅_𝒔𝒕𝒓 menggunakan password atau passkey. Jika password benar, maka string asli akan benar. Sintaks. SELECT DECODE(string_hasil_enkrip, password); Sintaks. SELECT LAST_INSERT_ID(); Sintaks. SELECT VERSION(); Sintaks. SELECT MD5(string); 29 Database Systems: Lab. Activity 2: Fungsi-Fungsi MySQL | • Mengambil id terakhir dalam proses insert dimana tabelnya mengandung field yang bersifat AUTO INCREMENT. • Mengambil versi MySQL yang digunakan. • Melakukan enkripsi suatu string menggunakan metode MD5. Lab. Activity 2: Fungsi-Fungsi MySQL | Fungsi Lainnya 31 Lab. Activity 2: Fungsi-Fungsi MySQL | 30