Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

DATE_FORMAT() Contoh – MySQL

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 x , untuk setiap “x ” tidak tercantum di atas


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mysql_real_escape_string() SEPENUHNYA melindungi terhadap injeksi SQL?

  2. SQL SELECT untuk mendapatkan N bilangan bulat positif pertama

  3. Bagaimana saya bisa melindungi nama pengguna dan kata sandi MySQL dari dekompilasi?

  4. MySQL:Beberapa baris sebagai baris tunggal yang dipisahkan koma

  5. MySQL Nilai tanggal waktu salah:'0000-00-00 00:00:00'