MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Unit Tanggal &Waktu Komposit MariaDB Dijelaskan

MariaDB menyertakan banyak unit tanggal dan waktu yang dapat Anda gunakan saat bekerja dengan nilai tanggal dan waktu. Misalnya, MONTH adalah satu unit, dan HOUR adalah unit lain.

Beberapa unit adalah unit komposit. Unit komposit adalah ketika dua unit digabungkan menjadi satu. Konvensi penamaan adalah bahwa setiap nama unit dipisahkan oleh garis bawah. Misalnya, MINUTE_SECOND adalah untuk menit dan detik.

Berikut adalah beberapa contoh yang menunjukkan cara kerja unit komposit di MariaDB.

Daftar Unit Komposit

Pertama, berikut adalah daftar unit komposit yang tersedia di MariaDB:

Satuan Deskripsi
SECOND_MICROSECOND Detik.Mikrodetik
MINUTE_MICROSECOND Menit.Detik.Mikrodetik
MINUTE_SECOND Menit.Detik
HOUR_MICROSECOND Jam.Menit.Detik.Mikrodetik
HOUR_SECOND Jam.Menit.Detik
HOUR_MINUTE Jam.Menit
DAY_MICROSECOND Hari Jam.Menit.Detik.Mikrodetik
DAY_SECOND Hari Jam.Menit.Detik
DAY_MINUTE Hari Jam.Menit
DAY_HOUR Hari Jam
YEAR_MONTH Tahun-Bulan

Hanya dengan melihat nama mereka memberikan petunjuk yang cukup bagus tentang apa yang mereka lakukan.

Unit komposit (seperti halnya unit tanggal/waktu) dapat digunakan saat mengekstrak bagian dari nilai tanggal/waktu, dan juga saat melakukan hal-hal seperti menambah dan mengurangi interval waktu ke nilai tanggal/waktu.

Ini dapat digunakan dengan + dan - operator saat melakukan aritmatika pada tanggal, dengan fungsi seperti ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , EXTRACT() , TIMESTAMPADD() , dan TIMESTAMPDIFF() .

Mereka juga dapat digunakan di ON SCHEDULE klausa dari CREATE_EVENT() dan ALTER_EVENT() fungsi.

Contoh – Mengekstrak Unit Komposit

Unit tanggal dan waktu dapat digunakan dengan banyak fungsi yang berbeda dan dalam berbagai konteks lainnya. Salah satu fungsi yang menerima unit ini adalah EXTRACT() fungsi. Fungsi ini mengembalikan unit tanggal/waktu tertentu dari tanggal atau nilai waktu tertentu.

Berikut ini contoh penggunaan unit komposit untuk mengekstrak tahun dan bulan dari tanggal:

SELECT EXTRACT(YEAR_MONTH FROM '2030-12-25');

Hasil:

+---------------------------------------+
| EXTRACT(YEAR_MONTH FROM '2030-12-25') |
+---------------------------------------+
|                                203012 |
+---------------------------------------+

Kita dapat melihat bahwa tahun dan bulan dikembalikan sebagai satu nilai.

Contoh – Menambah/Mengurangi Satuan Komposit

Unit komposit juga dapat digunakan untuk menambah dan mengurangi interval tanggal dan waktu.

Contoh:

SELECT '2030-12-25' + INTERVAL '2:08' DAY_HOUR;

Hasil:

+-----------------------------------------+
| '2030-12-25' + INTERVAL '2:08' DAY_HOUR |
+-----------------------------------------+
| 2030-12-27 08:00:00                     |
+-----------------------------------------+

Dalam hal ini, ada dua bagian yang harus diperhatikan sehubungan dengan unit komposit.

Seperti pada contoh sebelumnya, kami menggunakan unit komposit (dalam hal ini DAY_HOUR ). Sehubungan dengan interval yang sebenarnya untuk ditambahkan, kami menggunakan titik dua untuk memisahkan setiap sisi unit komposit.

Dalam hal ini kami menentukan '2:08' , yang menambahkan 2 hari dan 8 jam ke nilai tanggal. Tanggal asli tidak memiliki porsi waktu, jadi diasumsikan bahwa waktu awal adalah 00:00:00 .

MariaDB cukup memaafkan dengan ketatnya format. Kita bisa mendapatkan efek yang sama dengan menggunakan pemisah yang berbeda, dan juga dengan menghilangkan nol di depan.

Berikut contoh lain yang menggunakan DATE_ADD() fungsi dengan berbagai interval waktu:

SELECT DATE_ADD('2030-12-25', INTERVAL '2!8' DAY_HOUR);

Hasil:

+-------------------------------------------------+
| DATE_ADD('2030-12-25', INTERVAL '2!8' DAY_HOUR) |
+-------------------------------------------------+
| 2030-12-27 08:00:00                             |
+-------------------------------------------------+

Berikut adalah beberapa contoh lagi dari berbagai unit komposit:

SELECT 
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE";

Hasil:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-01 11:30:00 |
+---------------------+---------------------+---------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana LN() Bekerja di MariaDB

  2. Perbedaan Antara INSTR() vs LOCATE() di MariaDB

  3. Memulai MariaDB menggunakan Docker, Java Spring, dan JDBC

  4. MariaDB CURRENT_TIME() Dijelaskan

  5. DBA Saya Sakit - Tips Kegagalan Basis Data untuk SysAdmins