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
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. 😀😀😀
0 Komentar