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

วิธีดึงชื่อวันจาก TIMESTAMP ใน MySQL ด้วย DAYNAME()

ใช้ฟังก์ชัน 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() จะคืนค่า "วันจันทร์", "วันอังคาร", ...