Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หาเลขวันในสัปดาห์ใน MySQL ด้วย DAYOFWEEK()

ฟังก์ชัน DAYOFWEEK() ใน MySQL คืนค่าตัวเลข 1-7 แทนวันในสัปดาห์ โดย 1 = อาทิตย์, 2 = จันทร์, ..., 7 = เสาร์ (ตามมาตรฐาน ODBC)

รูปแบบคำสั่ง

SELECT DAYOFWEEK(yourDateColumn) AS WeekNumber FROM yourTableName;

ตัวอย่างการใช้งาน

1. สร้างตารางและเพิ่มวันที่ต่อเนื่อง 7 วัน

mysql> CREATE TABLE DayOfWeekDemo (Issuedate DATETIME);
Query OK, 0 rows affected (0.52 sec)

mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 5 DAY));
mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 6 DAY));
mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 7 DAY));
mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 8 DAY));
mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 9 DAY));
mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 10 DAY));
mysql> INSERT INTO DayOfWeekDemo VALUES (DATE_ADD(CURDATE(), INTERVAL 11 DAY));

2. ดูวันที่ที่เพิ่ม

mysql> SELECT * FROM DayOfWeekDemo;
+---------------------+
| Issuedate           |
+---------------------+
| 2018-12-03 00:00:00 |  -- วันจันทร์
| 2018-12-04 00:00:00 |  -- วันอังคาร
| 2018-12-05 00:00:00 |  -- วันพุธ
| 2018-12-06 00:00:00 |  -- วันพฤหัสบดี
| 2018-12-07 00:00:00 |  -- วันศุกร์
| 2018-12-08 00:00:00 |  -- วันเสาร์
| 2018-12-09 00:00:00 |  -- วันอาทิตย์
+---------------------+
7 rows in set (0.00 sec)

3. หาเลขวันในสัปดาห์

mysql> SELECT DAYOFWEEK(Issuedate) AS WeekNumber FROM DayOfWeekDemo;
+------------+
| WeekNumber |
+------------+
| 2          |  -- จันทร์
| 3          |  -- อังคาร
| 4          |  -- พุธ
| 5          |  -- พฤหัสบดี
| 6          |  -- ศุกร์
| 7          |  -- เสาร์
| 1          |  -- อาทิตย์
+------------+
7 rows in set (0.00 sec)

ฟังก์ชันวันที่เกี่ยวกับสัปดาห์

ฟังก์ชันคืนค่าช่วงค่าหมายเหตุ
DAYOFWEEK(date)วันในสัปดาห์1-71=อาทิตย์ (ODBC)
WEEKDAY(date)วันในสัปดาห์0-60=จันทร์ (มาตรฐาน)
DAYNAME(date)ชื่อวันMonday-Sundayภาษาอังกฤษ
WEEK(date, mode)สัปดาห์ในปี0-53mode กำหนดเริ่มสัปดาห์
YEARWEEK(date, mode)ปีและสัปดาห์YYYYWWรวมปีและสัปดาห์

แปลงเป็นชื่อวันภาษาไทย

SELECT 
    Issuedate,
    CASE DAYOFWEEK(Issuedate)
        WHEN 1 THEN 'อาทิตย์'
        WHEN 2 THEN 'จันทร์'
        WHEN 3 THEN 'อังคาร'
        WHEN 4 THEN 'พุธ'
        WHEN 5 THEN 'พฤหัสบดี'
        WHEN 6 THEN 'ศุกร์'
        WHEN 7 THEN 'เสาร์'
    END AS วันภาษาไทย
FROM DayOfWeekDemo;