Di MariaDB, DAY()
adalah sinonim untuk DAYOFMONTH()
. Ini mengembalikan hari dalam sebulan dari tanggal tertentu.
Itu menerima satu argumen, yang merupakan tanggal Anda ingin mengembalikan hari dalam sebulan.
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:
DAY(date)
Dimana date
adalah tanggal untuk mengekstrak hari.
Contoh
Ini contohnya:
SELECT DAY('2045-05-18');
Hasil:
+-------------------+| HARI('2045-05-18') |+-------------------+| 18 |+-------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT DAY('2045-05-18 01:10:15');
Hasil:
+----------------------------+| DAY('2045-05-18 01:10:15') |+----------------------------+| 18 |+----------------------------+
Nol Hari
Berikut adalah contoh yang menggunakan hari nol pada tanggal:
SELECT DAY('0000-00-00');
Hasil:
+-------------------+| DAY('0000-00-00') |+-------------------+| 0 |+-------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT DAY(20220308);
Hasil:
+---------------+| HARI (20220308) |+---------------+| 8 |+---------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT DAY(220308);
Hasil:
+-------------+| HARI(220308) |+-------------+| 8 |+-------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT DAY(220358);
Hasil:
+-------------+| HARI (220358) |+-------------+| NULL |+-------------+
Pembatas Lainnya
Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:
SELECT
DAY('2028/12/30'),
DAY('2028,12,30'),
DAY('2028:12:30'),
DAY('2028;12!30');
Hasil (menggunakan keluaran vertikal):
DAY('2028/12/30'):30DAY('2028,12,30'):30DAY('2028:12:30'):30DAY('2028;12!30'):30Tanggal Saat Ini
Kita dapat melewati
NOW()
sebagai argumen tanggal untuk menggunakan tanggal saat ini:SELECT NOW(), DAY(NOW());
Hasil:
+---------------------+------------+| SEKARANG() | HARI(SEKARANG()) |+---------------------+------------+| 2021-05-13 09:41:03 | 13 |+---------------------+------------+Argumen Tidak Valid
Saat memberikan argumen yang tidak valid,
DAY()
mengembalikannull
:SELECT DAY('Oops!');
Hasil:
+-------------+| DAY('Ups!') |+--------------+| NULL |+--------------+Argumen Tidak Ada
Memanggil
DAY()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:SELECT DAY();
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 DAY('2030-01-25', '2045-05-08');
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 ' ' '2045-05-08')' di baris 1