Anda dapat menggunakan DAYOFMONTH()
fungsi di MySQL untuk mengembalikan hari dalam sebulan dari tanggal.
Yang saya maksud dengan “hari dalam sebulan” adalah nilai antara 1 dan 31 (atau 0 untuk tanggal dengan bagian hari nol), sebagai lawan dari hari dalam seminggu, seperti Senin, dll.
Misalnya, jika Anda memberikan tanggal 07-01-2018 , DAYOFMONTH()
fungsi akan mengembalikan 7 .
Sintaks
Sintaksnya seperti ini:
DAYOFMONTH(date)
Dimana date
adalah nilai tanggal yang Anda inginkan untuk mengembalikan hari dalam sebulan.
Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT DAYOFMONTH('2020-06-18') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 18 | +--------+
Jika bagian hari memiliki nol di depan, nol di depan dihilangkan dari hasil. Contoh:
SELECT DAYOFMONTH('2020-06-07') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 7 | +--------+
Contoh Basis Data
Berikut adalah contoh mengekstrak bagian hari dari kolom saat menjalankan kueri terhadap database.
USE sakila; SELECT payment_date AS 'Date/Time', DAYOFMONTH(payment_date) AS 'Day of Month' FROM payment WHERE payment_id = 1;
Hasil:
+---------------------+--------------+ | Date/Time | Day of Month | +---------------------+--------------+ | 2005-05-25 11:30:37 | 25 | +---------------------+--------------+
Tanggal/Waktu Saat Ini
Berikut adalah contoh mengekstrak bagian hari dari tanggal dan waktu saat ini (yang dikembalikan menggunakan NOW()
fungsi).
SELECT NOW(), DAYOFMONTH(NOW());
Hasil:
+---------------------+-------------------+ | NOW() | DAYOFMONTH(NOW()) | +---------------------+-------------------+ | 2018-06-25 18:16:00 | 25 | +---------------------+-------------------+
Cara lain untuk melakukannya adalah dengan menggunakan CURDATE()
fungsi, yang hanya mengembalikan tanggal (tetapi bukan waktu).
SELECT CURDATE(), DAYOFMONTH(CURDATE());
Hasil:
+------------+-----------------------+ | CURDATE() | DAYOFMONTH(CURDATE()) | +------------+-----------------------+ | 2018-06-25 | 25 | +------------+-----------------------+