Query Menampilkan Nama Hari

Menampilkan nama hari dengan query pada dasarnya mudah, tetapi default result query nya berupa bahasa inggris. Dalam implementasi di aplikasi sebenarnya bisa diakali dengan membuat fungsi nama hari berbahasa indonesia di bahasa pemrograman aplikasi, tetapi sebenarnya di query pun bisa juga dibuat dengan menggunakan fungsi case when.
Terdapat perbedaan format di SQL Server dan di MySQL.
SQL Server
Pada SQL Server menggunakan fungsi datename dengan dw sebagai datepart.
Misal:
Menentukan hari sekarang
SELECT 
CASE
WHEN DATENAME(dw,GETDATE()) = 'Sunday' THEN 'MINGGU'
WHEN DATENAME(dw,GETDATE()) = 'Monday' THEN 'SENIN'
WHEN DATENAME(dw,GETDATE()) = 'Tuesday' THEN 'SELASA'
WHEN DATENAME(dw,GETDATE()) = 'Wednesday' THEN 'RABU'
WHEN DATENAME(dw,GETDATE()) = 'Thursday' THEN 'KAMIS'
WHEN DATENAME(dw,GETDATE()) = 'Friday' THEN 'JUMAT'
WHEN DATENAME(dw,GETDATE()) = 'Saturday' THEN 'SABTU'
END [hari]
Penggunaan dw bisa diganti dengan weekday, karena pada dasarnya fungsinya sama. Result dari query tersebut adalah:

MySQL
Pada MySQL, fungsi yang digunakan adalah DATE_FORMAT dengan %w (w kecil) dan juga %W (W besar). Perbedaan keduangan adalah pada format hasil.
%w pada date_format menghasilkan day of week yang berupa angka dimana 0 akan bernilai Sunday dan 7 akan bernilai Saturday, %W ( w besar ) menghasilkan week day name yang berupa string nama dalam format bahasa inggris.
Misal:
Menentukan hari sekarang dengan %w
SELECT
CASE
WHEN DATE_FORMAT(NOW(),'%w') = 0 THEN 'AHAD'
WHEN DATE_FORMAT(NOW(),'%w') = 1 THEN 'SENIN'
WHEN DATE_FORMAT(NOW(),'%w') = 2 THEN 'SELASA'
WHEN DATE_FORMAT(NOW(),'%w') = 3 THEN 'RABU'
WHEN DATE_FORMAT(NOW(),'%w') = 4 THEN 'KAMIS'
WHEN DATE_FORMAT(NOW(),'%w') = 5 THEN 'JUMAT'
WHEN DATE_FORMAT(NOW(),'%w') = 6 THEN 'JUMAT'
END AS hari
Result query tersebut adalah

Menentukan hari sekarang dengan %W
SELECT 
CASE
WHEN DATE_FORMAT(NOW(),'%W') = 'Sunday' THEN 'MINGGU'
WHEN DATE_FORMAT(NOW(),'%W') = 'Monday' THEN 'SENIN'
WHEN DATE_FORMAT(NOW(),'%W') = 'Tuesday' THEN 'SELASA'
WHEN DATE_FORMAT(NOW(),'%W') = 'Wednesday' THEN 'RABU'
WHEN DATE_FORMAT(NOW(),'%W') = 'Thursday' THEN 'KAMIS'
WHEN DATE_FORMAT(NOW(),'%W') = 'Friday' THEN 'JUMAT'
WHEN DATE_FORMAT(NOW(),'%W') = 'Saturday' THEN 'SABTU'
END AS hari

Result dari query tersebut adalah

Selain fungsi DATE_FORMAT(NOW(),'%W'), bisa juga menggunakan DAYNAME(NOW()) untuk menghasilkan nama hari dalam bahasa inggris.

Semoga bermanfaat. 😀😀😀

Posting Komentar

0 Komentar