Artikel ini berisi contoh DATE_FORMAT()
fungsi di MySQL.
DATE_FORMAT()
fungsi memungkinkan Anda untuk mengembalikan tanggal dalam format tertentu. Misalnya, Anda dapat menggunakannya untuk mengembalikan 18-06-2020 sebagai Kamis, Juni 2020 , atau format lain apa pun yang Anda butuhkan.
Sintaks
Sintaksnya seperti ini:
DATE_FORMAT(date,format)
Dimana date
adalah tanggal yang ingin Anda format, dan format
menentukan bagaimana formatnya.
Untuk daftar penentu format yang valid, lihat tabel di bagian bawah artikel ini. Nilai format harus dimulai dengan tanda persentase (%
).
Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';
Hasil:
+---------------------+ | Result | +---------------------+ | Thursday, June 2020 | +---------------------+
Nama Hari dan Bulan Singkat/Singkatan
Berikut adalah contoh yang memformat hasil menjadi nama hari dan bulan yang pendek.
SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';
Hasil:
+---------------+ | Result | +---------------+ | Thu, Jun 2020 | +---------------+
Contoh Basis Data
Berikut adalah contoh di mana kami memformat nilai yang dikembalikan dari kolom database yang disimpan sebagai nilai waktu-tanggal.
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%W, %M %Y') AS 'Date' FROM payment WHERE payment_id = 1;
Hasil:
+---------------------+---------------------+ | Date/Time | Date | +---------------------+---------------------+ | 2005-05-25 11:30:37 | Wednesday, May 2005 | +---------------------+---------------------+
Memformat Waktu
Anda juga dapat menggunakan DATE_FORMAT()
untuk memformat komponen waktu dari datetime nilai. Contoh:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i:%s') AS 'Time' FROM payment WHERE payment_id = 1;
Hasil:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30:37 | +---------------------+----------+
Berikut contoh lain di mana saya menambahkan AM/PM penunjuk:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i %p') AS 'Time' FROM payment WHERE payment_id = 1;
Hasil:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30 AM | +---------------------+----------+
Penentu yang Tersedia
Penentu berikut dapat digunakan untuk menentukan format pengembalian. Nilai format harus dimulai dengan tanda persentase (%
).
Specifier | Deskripsi |
---|---|
%a | Singkat nama hari kerja (Sun ..Sat ) |
%b | Nama bulan disingkat (Jan ..Dec ) |
%c | Bulan, numerik (0 ..12 ) |
%D | Hari dalam sebulan dengan akhiran bahasa Inggris (0th , 1st , 2nd , 3rd , …) |
%d | Hari dalam sebulan, numerik (00 ..31 ) |
%e | Hari dalam sebulan, numerik (0 ..31 ) |
%f | Mikrodetik (000000 ..999999 ) |
%H | Jam (00 ..23 ) |
%h | Jam (01 ..12 ) |
%I | Jam (01 ..12 ) |
%i | Menit, numerik (00 ..59 ) |
%j | Hari dalam setahun (001 ..366 ) |
%k | Jam (0 ..23 ) |
%l | Jam (1st ..12 ) |
%M | Nama bulan (January ..December ) |
%m | Bulan, numerik (00 ..12 ) |
%p | AM atau PM |
%r | Waktu, 12 jam (hh:mm:ss diikuti oleh AM atau PM ) |
%S | Detik (00 ..59 ) |
%s | Detik (00 ..59 ) |
%T | Waktu, 24 jam (hh:mm:ss ) |
%U | Minggu (00 ..53 ), di mana hari Minggu adalah hari pertama dalam seminggu; WEEK() modus 0 |
%u | Minggu (00 ..53 ), di mana Senin adalah hari pertama dalam seminggu; WEEK() mode 1 |
%V | Minggu (01 ..53 ), di mana hari Minggu adalah hari pertama dalam seminggu; WEEK() modus 2; digunakan dengan %X |
%v | Minggu (01 ..53 ), di mana Senin adalah hari pertama dalam seminggu; WEEK() modus 3; digunakan dengan %x |
%W | Nama hari kerja (Sunday ..Saturday ) |
%w | Hari dalam seminggu (0 =Minggu..6 =Sabtu) |
%X | Tahun untuk minggu di mana hari Minggu adalah hari pertama dalam seminggu, numerik, empat digit; digunakan dengan %V |
%x | Tahun untuk minggu, di mana Senin adalah hari pertama dalam seminggu, numerik, empat digit; digunakan dengan %v |
%Y | Tahun, numerik, empat digit |
%y | Tahun, numerik (dua digit) |
%% | Sebuah % literal karakter |
% | x , untuk setiap “x ” tidak tercantum di atas |