Di MariaDB, MONTH()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan bulan dari ekspresi tanggal tertentu.
Itu menerima satu argumen, yang merupakan tanggal Anda ingin mengekstrak bulan dari.
Ini mengembalikan bulan sebagai angka dalam kisaran 1
ke 12
untuk Januari sampai Desember. Jika tanggal memiliki bagian bulan nol (mis. 0000-00-00
atau 2025-00-00
), hasilnya adalah 0
.
Sintaks
Sintaksnya seperti ini:
MONTH(date)
Dimana date
adalah ekspresi tanggal untuk mendapatkan bulan.
Contoh
Ini contohnya:
SELECT MONTH('2030-08-01');
Hasil:
+---------------------+| BULAN('2030-08-01') |+---------------------+| 8 |+---------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT MONTH('2030-08-01 10:30:45');
Hasil:
+-----------------------------+| BULAN('2030-08-01 10:30:45') |+------------------------------+| 8 |+----------------------------+
Nol Bulan
Hasil nol bulan di 0
.
Contoh:
SELECT MONTH('2030-00-00');
Hasil:
+---------------------+| BULAN('2030-00-00') |+---------------------+| 0 |+---------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT MONTH(20301125);
Hasil:
+-----------------+| BULAN (20301125) |+-----------------+| 11 |+-----------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT MONTH(301125);
Hasil:
+---------------+| BULAN (301125) |+---------------+| 11 |+---------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT MONTH(20301135);
Hasil:
+-----------------+| BULAN (20301135) |+-----------------+| NULL |+-----------------+
Pembatas Lainnya
Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:
SELECT
MONTH('2030/06/25'),
MONTH('2030,06,25'),
MONTH('2030:06:25'),
MONTH('2030;06!25');
Hasil (menggunakan keluaran vertikal):
BULAN('2030/06/25'):6BULAN('2030,06,25'):6BULAN('2030:06:25'):6BULAN('2030;06!25'):6Tanggal Saat Ini
Kita dapat melewati
NOW()
sebagai argumen datetime untuk menggunakan tanggal saat ini:SELECT NOW(), MONTH(NOW());
Hasil:
+---------------------+--------------+| SEKARANG() | BULAN(SEKARANG()) |+---------------------+--------------+| 2021-05-16 15:00:06 | 5 |+---------------------+--------------+Argumen Tidak Valid
Saat memberikan argumen yang tidak valid,
MONTH()
mengembalikannull
:SELECT MONTH('2030-65-78');
Hasil:
+---------------------+| BULAN('2030-65-78') |+---------------------+| NULL |+---------------------+Argumen Tidak Ada
Memanggil
MONTH()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:SELECT MONTH();
Hasil:
ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ')' di baris 1Dan contoh lain:
SELECT MONTH('2030-12-10', '2031-12-10');
Hasil:
ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ' '2031-12-10')' di baris 1