Anda dapat menggunakan DAYOFWEEK() fungsi di MySQL untuk mengembalikan hari dalam seminggu dari tanggal.
Dalam konteks ini, nilai kembalian 1 sesuai dengan hari Minggu, 2 sesuai dengan Senin, dll.
Artikel ini berisi contoh untuk ditunjukkan.
Sintaks
Sintaksnya seperti ini:
DAYOFWEEK(date)
Dimana date adalah nilai tanggal yang Anda inginkan untuk mengembalikan hari dalam seminggu.
Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT DAYOFWEEK('2019-01-01') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 3 | +--------+
Kita dapat menjalankan ini bersama DAYNAME() berfungsi untuk melihat hari apa yang sesuai dengan:
SET @date = '2019-01-01';
SELECT
@date,
DAYNAME(@date) AS 'Day Name',
DAYOFWEEK(@date) AS 'Day of Week';
Hasil:
+------------+----------+-------------+ | @date | Day Name | Day of Week | +------------+----------+-------------+ | 2019-01-01 | Tuesday | 3 | +------------+----------+-------------+
DAYOFWEEK() vs DAYOFMONTH()
Berikut adalah contoh untuk menunjukkan perbedaan antara DAYOFWEEK() dan DAYOFMONTH() fungsi.
SET @date = '2019-01-20';
SELECT
@date,
DAYNAME(@date) AS 'Day Name',
DAYOFWEEK(@date) AS 'Day of Week',
DAYOFMONTH(@date) AS 'Day of Month';
Hasil:
+------------+----------+-------------+--------------+ | @date | Day Name | Day of Week | Day of Month | +------------+----------+-------------+--------------+ | 2019-01-20 | Sunday | 1 | 20 | +------------+----------+-------------+--------------+
DAYOFMONTH() fungsi mengembalikan nilai antara 1 dan 31 (atau 0 untuk tanggal dengan bagian hari nol) yang mewakili hari dalam sebulan. Ini me-reset kembali ke 1 di awal setiap bulan.
DAYOFWEEK() fungsi di sisi lain, mengembalikan nilai antara 1 dan 7 . Ini me-reset kembali ke 1 di awal setiap minggu.
Contoh Basis Data
Di sini, kita melakukan hal yang mirip dengan contoh sebelumnya, kecuali bahwa contoh ini menggunakan data dari database:
USE sakila; SELECT payment_date AS 'Date/Time', DAYNAME(payment_date) AS 'Day Name', DAYOFWEEK(payment_date) AS 'Day of Week' FROM payment WHERE payment_id = 1;
Hasil:
+---------------------+-----------+-------------+ | Date/Time | Day Name | Day of Week | +---------------------+-----------+-------------+ | 2005-05-25 11:30:37 | Wednesday | 4 | +---------------------+-----------+-------------+
Tanggal/Waktu Saat Ini
Berikut adalah contoh mengekstrak bagian hari dari tanggal dan waktu saat ini (yang dikembalikan menggunakan NOW() fungsi).
SELECT
NOW(),
DAYOFWEEK(NOW());
Hasil:
+---------------------+------------------+ | NOW() | DAYOFWEEK(NOW()) | +---------------------+------------------+ | 2018-06-26 07:42:31 | 3 | +---------------------+------------------+
Cara lain untuk melakukannya adalah dengan menggunakan CURDATE() fungsi, yang hanya mengembalikan tanggal (tetapi bukan waktu).
SELECT
CURDATE(),
DAYOFWEEK(CURDATE());
Hasil:
+------------+----------------------+ | CURDATE() | DAYOFWEEK(CURDATE()) | +------------+----------------------+ | 2018-06-26 | 3 | +------------+----------------------+