Kamis, 30 April 2020

Assalamualaikum Sobat YLunak! 
Kali ini YLunak akan berbagi tutorial seputar query SQL. Buat sobat yang masih bingung cara menghitung umur menggunakan SQL Server, ayo kita simak tutorialnya.

Menghitung Umur Menggunakan datediff() pada SQL Server menampilkan umur sql server dengan datediff penggunaan datediff() mengambil selisih umur sql server
Menghitung Umur Menggunakan datediff() pada SQL Server

Berikut contoh penggunaan function datediff untuk menghitung umur menggunakan SQL Server :
select
datediff(year, '2001-03-02 00:00:00.000', getdate()) as_year,
datediff(month, '2001-03-02 00:00:00.000', getdate()) as_month,
datediff(day, '2001-03-02 00:00:00.000', getdate()) as_day,
datediff(hour, '2001-03-02 00:00:00.000', getdate()) as_hour,
datediff(minute, '2001-03-02 00:00:00.000', getdate()) as_minute,
datediff(second, '2001-03-02 00:00:00.000', getdate()) as_second

Jika query tersebut dijalankan, hasilnya akan tampil seperti berikut :

Datediff month year day minute second menghitung umur sql server menghitung umur dengan datediff
Menampilkan umur dengan function datediff ()

Query tersebut juga bisa dipakai untuk menghitung umur yang data tanggal lahirnya sudah disimpan dalam database, tapi querynya perlu disesuaikan dulu menjadi seperti ini :
select
datediff(year, 'nama_kolom', getdate()) as_year

Dari query tadi, hanya bagian tanggalnya saja yang perlu diganti menjadi nama_kolom yang menyimpan data tanggal lahirnya.

Contoh kasus :
Ria lahir pada tanggal 2 Juli 2000. Tampilkan umur Ria dengan menampilkan tahun dan sisa bulannya! Misal : 5 tahun 10 bulan

Jawab :
Dari contoh kasus tersebut, kita bisa menjalankan query seperti ini :

select
datediff(month, '2001-07-02 00:00:00.000', getdate()) /12 TAHUN,
datediff(month, '2001-07-02 00:00:00.000', getdate()) %12 BULAN

Jika query tersebut dijalankan, hasilnya seperti gambar berikut :

Menghitung umur dengan menampilkan sisa umurnya
Menghitung umur dengan menampilkan sisa umurnya

Jadi umur Ria sekarang adalah 18 tahun 9 bulan.

Kalau kita hanya running query sampai datediff yang pertama. Hasilnya hanya menampilkan umur dalam satuan tahun saja. Query :

select 
datediff(month, '2001-07-02 00:00:00.000', getdate()) /12 TAHUN

Sebenarnya sama dengan query :

select 
datediff(year, '2001-07-02 00:00:00.000', getdate()) TAHUN

/12 pada query yang pertama digunakan karena di query tersebut memakai datediff month. Jika tidak menuliskan /12, maka umur yang tampil saat query di jalankan yaitu dalam satuan bulan. Jadi itulah mengapa perlu ditambahkan /12

Nah, kalau memakai datediff year, seperti query ke-dua, tidak perlu menuliskan /12. Karena sudah pasti hasilnya memakai satuan tahun. Jika menuliskan /12, hasilnya tidak sesuai yang diinginkan.

Kalau function getdate(), kalian pasti sudah tahu kan? Iyap, function tersebut digunakan untuk mengambil value tanggal sekarang/tanggal query tersebut dijalankan.

Kalau ada kesalahan, mohon koreksinya. Kalau ada tambahan, silahkan tulis di kolom komentar, ya, Sob!

Terima kasih. Selamat Belajar!
Wassalamu'alaikum.
Assalamu'alaikum Sobat YLunak!

Buat Sobat YLunak, penah ngga sih port Apache atau port MySQL di xampp kalian bertabrakan dengan port di xampp yang lain? Kalau iya, berarti kalian sedang membaca artikel yang tepat. Buat Sobat YLunak yang port Apache-nya bertabrakan, bisa baca artike ini ya "Mengubah Port Apache pada XAMPP". Dan kalau port MySQL-nya yang bertabrakan, kalian sudah berada diartikel yang tepat. Oke, lanjut saja..


Mengubah Port MySQL pada Xampp


Cara mengubah port MySQL pada Xampp : 

1. Buka Xampp Control Panel nya, lalu klik tombol config. Buka File my.ini


Mengubah Port MySQL pada Xampp


2. Default portnya biasanya 3306. Cari tulisan yang mengandung 3306 dan ubah menjadi 3307.

Membuka file my.ini

3307 ini port baru yang akan menggantikan port 3306, ya, Sob. Ada lima bagian yang mengandung 3306. Seperti : 

--> pertama :
# The following options will be passed to all MySQL clients
[client]
# password = your_password
port = 3306
socket = "C:/xampp1/mysql/mysql.sock" 

--> kedua :
# The MySQL server [mysqld] port= 3306 socket = "C:/xampp1/mysql/mysql.sock" basedir = "C:/xampp1/mysql"
[mysqld]
port= 3306
socket = "C:/xampp1/mysql/mysql.sock"
basedir = "C:/xampp1/mysql" 

--> ketiga :
where you replace <host>, <user>, <password> by quoted strings and
# <port> by the master's port number (3306 by default).

--> keempat :
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='joe', MASTER_PASSWORD='secret';

--> kelima :
# The port the master is listening on.
# optional - defaults to 3306
#master-port = <port>
# optional - defaults to 3306
#master-port = <port> 

Sebenarnya yang bagian yang perlu diubah hanya pada bagian pertama dan kedua. Bagian keempat dan kelima tidak perlu, karena mereka terletak di teks yang dikomentar (tidak dieksekusi saat Xampp sedang dijalankan), tapi menurut YLunak, bagian kelima bagian tersebut perlu diubah untuk lebih memudahkan kita. Istilahnya "diseragamkan untuk kemudahan". Begitu, hehe. 

3. Setelah port lama diubah menjadi port yang baru, tekan Ctrl + S untuk menyimpan file.

4. Re-start MySQL nya. Dan selamat, port MySql milik Sobat YLunak sudah tidak bertabrakan lagi dan berhasil diubah.


Port MySQL berhasil diubah


Semoga bermanfaat dan terima kasih.
Wassalamu'alaikum.