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

Cara Memformat Tanggal &Waktu di MySQL

Di MySQL, DATE_FORMAT() fungsi memungkinkan Anda untuk memformat tanggal dan waktu.

Ini contohnya:

SELECT DATE_FORMAT('2018-12-01', '%W, %d %M %Y');

Hasil:

Saturday, 01 December 2018

Dalam contoh ini, %W adalah untuk nama hari kerja, %d adalah untuk hari dalam sebulan, %M adalah untuk Bulan, dan %Y adalah untuk Tahun. Ada banyak lagi penentu format yang tersedia yang memungkinkan Anda menentukan format yang tepat untuk tanggal, serta komponen waktu.

Memformat Komponen Waktu

Berikut ini contoh pemformatan komponen waktu:

SELECT DATE_FORMAT('2018-12-01 11:03:15', '%H:%i:%s %p');

Hasil:

11:03:15 AM

Dalam contoh ini, %p digunakan untuk menampilkan AM atau PM, tergantung kasusnya.

Tentu saja, Anda dapat menggabungkannya untuk memformat tanggal dan waktu sekaligus:

SELECT DATE_FORMAT('2018-12-01 11:03:15', '%H:%i:%s %p, %W, %d %M %Y');

Hasil:

11:03:15 AM, Saturday, 01 December 2018

Memformat dengan Fungsi Tanggal/Waktu

Seringkali Anda ingin menggunakan DATE_FORMAT() bersama dengan fungsi tanggal/waktu lainnya. Misalnya, Anda dapat menggunakannya bersama dengan CURDATE() untuk mengembalikan tanggal saat ini, diformat dengan baik:

SELECT 
 CURDATE() AS Unformatted, 
 DATE_FORMAT(CURDATE(), '%W, %M %d, %Y') AS Formatted;

Hasil:

+-------------+----------------------+
| Unformatted | Formatted            |
+-------------+----------------------+
| 2018-05-04  | Friday, May 04, 2018 |
+-------------+----------------------+

Anda juga dapat melakukannya dengan NOW() berfungsi jika Anda membutuhkan waktu:

SELECT
 NOW() AS Unformatted,
 DATE_FORMAT(NOW(), '%r') AS Formatted;

Hasil:

+---------------------+-------------+
| Unformatted         | Formatted   |
+---------------------+-------------+
| 2018-05-04 14:33:52 | 02:33:52 PM |
+---------------------+-------------+

Fungsi TIME_FORMAT()

MySQL juga memiliki TIME_FORMAT() fungsi yang dapat digunakan untuk memformat waktu. Fungsi ini bekerja mirip dengan DATE_FORMAT() kecuali bahwa TIME_FORMAT() hanya menerima penentu format hanya untuk jam, menit, detik, dan mikrodetik.

Contoh:

SET @time = '07:35:10';
 SELECT
 TIME_FORMAT(@time, '%H') AS Hour,
 TIME_FORMAT(@time, '%i') AS Minute,
 TIME_FORMAT(@time, '%s') As Seconds,
 TIME_FORMAT(@time, '%p') AS 'AM or PM';

Hasil:

+------+--------+---------+----------+
| Hour | Minute | Seconds | AM or PM |
+------+--------+---------+----------+
| 07   | 35     | 10      | AM       |
+------+--------+---------+----------+

Fungsi STR_TO_DATE()

STR_TO_DATE() fungsi adalah kebalikan dari DATE_FORMAT() fungsi. Ini memungkinkan Anda untuk memberikan string yang akan diformat sebagai tanggal. Ia menerima dua parameter; string, dan formatnya.

Ini contohnya:

SELECT STR_TO_DATE('Saturday, 6 December 2018', '%W, %d %M %Y') AS Date;

Hasil:

+------------+
| Date       |
+------------+
| 2018-12-06 |
+------------+

Cara Menemukan Format Tanggal yang Benar

MySQL memiliki fungsi kecil yang berguna yang disebut GET_FORMAT() . Fungsi ini membantu Anda menemukan format yang benar untuk digunakan saat menggunakan DATE_FORMAT() fungsi dan/atau STR_TO_DATE() fungsi .

Begini cara kerjanya:

SELECT GET_FORMAT(DATE, 'USA');

Ini menghasilkan sebagai berikut:

%m.%d.%Y

Yang memberi tahu kita format string yang perlu kita gunakan saat memformat tanggal dengan DATE_FORMAT() fungsi. Misalnya, kita dapat mengambil hasil dari contoh itu dan menerapkannya ke DATE_FORMAT() fungsi:

SELECT DATE_FORMAT(NOW(), '%m.%d.%Y');

Dan kita akan mendapatkan hasil yang diinginkan:

05.04.2018

Anda juga dapat melewati GET_FORMAT() langsung ke DATE_FORMAT() jika Anda mau.

SELECT DATE_FORMAT(NOW(), GET_FORMAT(DATE, 'USA'));

Hasil:

05.04.2018

Bagaimanapun, di bawah ini adalah contoh dengan berbagai opsi.

Tanggal

SELECT 
    GET_FORMAT(DATE, 'USA') AS USA,
    GET_FORMAT(DATE, 'JIS') AS JIS,
    GET_FORMAT(DATE, 'ISO') AS ISO,
    GET_FORMAT(DATE, 'EUR') AS EUR,
    GET_FORMAT(DATE, 'INTERNAL') AS INTERNAL;

Hasil:

+----------+----------+----------+----------+----------+
| USA      | JIS      | ISO      | EUR      | INTERNAL |
+----------+----------+----------+----------+----------+
| %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d   |
+----------+----------+----------+----------+----------+

Tanggal-waktu

SELECT 
    GET_FORMAT(DATETIME, 'USA') AS USA,
    GET_FORMAT(DATETIME, 'JIS') AS JIS,
    GET_FORMAT(DATETIME, 'ISO') AS ISO,
    GET_FORMAT(DATETIME, 'EUR') AS EUR,
    GET_FORMAT(DATETIME, 'INTERNAL') AS INTERNAL;

Hasil:

+-------------------+-------------------+-------------------+-------------------+--------------+
| USA               | JIS               | ISO               | EUR               | INTERNAL     |
+-------------------+-------------------+-------------------+-------------------+--------------+
| %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s |
+-------------------+-------------------+-------------------+-------------------+--------------+

Waktu

SELECT 
    GET_FORMAT(TIME, 'USA') AS USA,
    GET_FORMAT(TIME, 'JIS') AS JIS,
    GET_FORMAT(TIME, 'ISO') AS ISO,
    GET_FORMAT(TIME, 'EUR') AS EUR,
    GET_FORMAT(TIME, 'INTERNAL') AS INTERNAL; 

Hasil:

+-------------+----------+----------+----------+----------+
| USA         | JIS      | ISO      | EUR      | INTERNAL |
+-------------+----------+----------+----------+----------+
| %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s   |
+-------------+----------+----------+----------+----------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sambungkan ECONNREFUSED - simpul js, sql

  2. Server MySQL Mandiri

  3. File aman untuk diunduh

  4. Gabung vs. sub-kueri

  5. Siapkan MySQL 8 dari Binary Tarball