Pernah saya kesulitan untuk menjawab pertanyaan "Dapatkan daftar dokter yang praktek mulai pukul 08.00". Tipe data untuk jam_mulai yang saya buat di tabel praktek adalah datetime. Saat itu saya mencoba untuk menulis sintaks :
SELECT * FROM praktek WHERE jam_mulai like '%08:%';
Namun sintaks tersebut tidak memberikan hasil yang sesuai. Yap, sama dengan kebanyakan orang kalau sudah "buntu" dengan suatu permasalahan, saya buka browser, masuk ke google, dan cari - cari info deh. Cukup lama saya muter-muter dan akhirnya saya menemukan solusi yang mungkin tepat.
Jadi begini, format waktu pada SQL adalah (yyyy-mm-dd hh:mm:ss:mmm) seperti ini: 2009-02-16 12:30:43.796. Untuk menampilkan sesuai dengan yang diinginkan, maka perlu mengkonversinya dengan sintaks :
CONVERT ( data_type [ ( length ) ] , expression [ style ] )
Berikut ini adalah macam - macam konversinya :
SELECT CONVERT(VARCHAR(30),GETDATE(),100)
--Output (MON DD YYYY HH:MI(AM/PM))
--Jul 7 2009 2:19PM
SELECT CONVERT(VARCHAR(30),GETDATE(),101)
--Output (MM/DD/YYYY)
--07/07/2009
SELECT CONVERT(VARCHAR(30),GETDATE(),102)
--Output (YYYY.MM.DD)
--2009.07.07
SELECT CONVERT(VARCHAR(30),GETDATE(),103)
--Output (DD/MM/YYYY)
--06/07/2009
SELECT CONVERT(VARCHAR(30),GETDATE(),104)
--Output (DD.MM.YYYY)
--06.07.2009
SELECT CONVERT(VARCHAR(30),GETDATE(),105)
--Output (DD-MM-YYYY)
--06-07-2009
SELECT CONVERT(VARCHAR(30),GETDATE(),106)
--Output (DD MON YYYY)
--06 Jul 2009
SELECT CONVERT(VARCHAR(30),GETDATE(),107)
--Output (MON DD,YYYY)
--Jul 06, 2009
SELECT CONVERT(VARCHAR(30),GETDATE(),108)
--Output (HH24:MI:SS)
--14:24:20
SELECT CONVERT(VARCHAR(30),GETDATE(),109)
--Output (MON DD YYYY HH:MI:SS:NNN (AM/PM))
--Jul 7 2009 2:24:35:490PM
SELECT CONVERT(VARCHAR(30),GETDATE(),110)
--Output (MM-DD-YYYY)
-- 07-07-2009
SELECT CONVERT(VARCHAR(30),GETDATE(),111)
--Output (YYYY/MM/DD)
--2009/07/07
SELECT CONVERT(VARCHAR(30),GETDATE(),112)
--Output (YYYYMMDD)
--20090707
SELECT CONVERT(VARCHAR(30),GETDATE(),113)
--Output (MON DD YYYY HH24:MI:SS:NNN)
--07 Jul 2009 14:26:24:617
SELECT CONVERT(VARCHAR(30),GETDATE(),114)
--Output (HH24:MI:SS:NNN)
--14:26:48:953
Sebagai catatan, GETDATE() bisa diganti dengan kolom pada tabel.
Contoh sintaks :
SELECT * FROM praktek WHERE CONVERT(VARCHAR(30),jam_mulai,108) like '%08:%';
Dan untuk selanjutnya, anda bisa mengembangkannya sendiri.
Terima kasih untuk asepsmile.blogspot.com.
No comments:
Post a Comment