ใช้ฟังก์ชัน DAYNAME() แปลง Timestamp/Date ให้เป็นชื่อวัน
ฟังก์ชัน DAYNAME() รับคอลัมน์ DATE, DATETIME, หรือ TIMESTAMP คืนค่าชื่อวันภาษาอังกฤษ (Monday, Tuesday, ...)
ตัวอย่างสร้างตารางและข้อมูล
CREATE TABLE DemoTable (LoginDate TIMESTAMP);
INSERT INTO DemoTable VALUES
('2019-06-01'), ('2019-06-02'), ('2019-06-03'),
('2019-06-04'), ('2018-06-21');
ข้อมูลในตาราง
+-----------------------+ | LoginDate | +-----------------------+ | 2019-06-01 00:00:00 | | 2019-06-02 00:00:00 | | 2019-06-03 00:00:00 | | 2019-06-04 00:00:00 | | 2018-06-21 00:00:00 | +-----------------------+
คำสั่งดึงชื่อวัน
SELECT DAYNAME(LoginDate) FROM DemoTable;
ผลลัพธ์
+--------------------+ | DAYNAME(LoginDate) | +--------------------+ | Saturday | | Sunday | | Monday | | Tuesday | | Thursday | +--------------------+
ฟังก์ชันวันที่เกี่ยวข้อง:
| ฟังก์ชัน | คืนค่า | ตัวอย่าง |
|---|---|---|
| DAYNAME() | ชื่อวันภาษาอังกฤษ | Monday |
| DAYOFWEEK() | เลขวัน (1=อาทิตย์ ... 7=เสาร์) | 2 |
| WEEKDAY() | เลขวัน (0=จันทร์ ... 6=อาทิตย์) | 0 |
| MONTHNAME() | ชื่อเดือนภาษาอังกฤษ | January |
| DAYOFMONTH() | วันของเดือน (1-31) | 15 |
| DAYOFYEAR() | วันของปี (1-366) | 180 |
⚠ หมายเหตุ: ชื่อวัน/เดือนขึ้นกับ lc_time_names system variable (ค่าเริ่มต้น en_US) สามารถตั้งค่าเป็น 'th_TH' เพื่อได้ภาษาไทยได้ (ต้องมี locale ติดตั้ง)
ตัวอย่างตั้งค่าภาษาไทย (ถ้ารองรับ): SET lc_time_names = 'th_TH'; แล้ว DAYNAME() จะคืนค่า "วันจันทร์", "วันอังคาร", ...