Di MariaDB, DAYOFMONTH()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan hari dalam sebulan dari tanggal tertentu.
Itu menerima satu argumen, yang merupakan tanggal Anda ingin mengekstrak hari dari bulan itu.
Hasilnya ada di kisaran 1
ke 31
. Namun, jika tanggal memiliki bagian nol hari (misalnya '0000-00-00'
atau '2021-00-00'
), hasilnya adalah 0
.
Sintaks
Sintaksnya seperti ini:
DAYOFMONTH(date)
Dimana date
adalah tanggal untuk mengekstrak hari.
Contoh
Ini contohnya:
SELECT DAYOFMONTH('2030-01-25');
Hasil:
+--------------------------+| DAYOFMONTH('2030-01-25') |+--------------------------+| 25 |+--------------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT DAYOFMONTH('2030-01-25 10:30:45');
Hasil:
+-----------------------------------+| DAYOFMONTH('2030-01-25 10:30:45') |+--------------------------------- --+| 25 |+-----------------------------------+
Nol Hari
Berikut adalah contoh yang menggunakan hari nol pada tanggal:
SELECT DAYOFMONTH('2030-00-00');
Hasil:
+--------------------------+| DAYOFMONTH('2030-00-00') |+--------------------------+| 0 |+--------------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT DAYOFMONTH(20300125);
Hasil:
+----------------------+| DAYOFMONTH (20300125) |+----------------------+| 25 |+----------------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT DAYOFMONTH(300125);
Hasil:
+--------------------+| DAYOFMONTH(300125) |+--------------------+| 25 |+--------------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT DAYOFMONTH(20300135);
Hasil:
+----------------------+| DAYOFMONTH (20300135) |+----------------------+| NULL |+------------+
Pembatas Lainnya
Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:
SELECT
DAYOFMONTH('2030/01/25'),
DAYOFMONTH('2030,01,25'),
DAYOFMONTH('2030:01:25'),
DAYOFMONTH('2030;01!25');
Hasil (menggunakan keluaran vertikal):
DAYOFMONTH('2030/01/25'):25DAYOFMONTH('2030,01,25'):25DAYOFMONTH('2030:01:25'):25DAYOFMONTH('2030;01!25'):25Tanggal Saat Ini
Kita dapat melewati
NOW()
sebagai argumen tanggal untuk menggunakan tanggal saat ini:SELECT NOW(), DAYOFMONTH(NOW());
Hasil:
+---------------------+-------------------+| SEKARANG() | DAYOFMONTH(SEKARANG()) |+---------------------+-------------------+ | 2021-05-13 09:02:41 | 13 |+---------------------+-------------------+Argumen Tidak Valid
Saat melewati argumen yang tidak valid,
DAYOFMONTH()
mengembalikannull
:SELECT DAYOFMONTH('Homer');
Hasil:
+---------------------+| DAYOFMONTH('Homer') |+---------------------+| NULL |+---------------------+Argumen Tidak Ada
Memanggil
DAYOFMONTH()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:SELECT DAYOFMONTH();
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'DAYOFMONTH'Dan contoh lain:
SELECT DAYOFMONTH('2030-01-25', '2045-05-08');
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'DAYOFMONTH'