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'):30 Tanggal 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() mengembalikan null :
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 1
Dan 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