การใช้ชนิดข้อมูล TIME ใน MySQL
ชนิด TIME ใช้เก็บเวลา (Hour:Minute:Second) โดยไม่มีส่วนของวันที่ | ช่วงค่า: -838:59:59 ถึง 838:59:59 (รองรับเวลาสะสมเกิน 24 ชม.)
ตัวอย่างการใช้งาน
สร้างตารางเก็บเวลา Login:
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
LoginTime TIME NULL
);
เพิ่มข้อมูลเวลา:
mysql> insert into DemoTable(LoginTime) values('12:34:45');
mysql> insert into DemoTable(LoginTime) values('13:56:01');
mysql> insert into DemoTable(LoginTime) values('04:12:23');
ข้อมูลที่จัดเก็บ:
+----+-----------+ | Id | LoginTime | +----+-----------+ | 1 | 12:34:45 | | 2 | 13:56:01 | | 3 | 04:12:23 | +----+-----------+
คำสั่งที่เกี่ยวข้อง:
CURTIME()- เวลาปัจจุบันTIMEDIFF(t1, t2)- ความต่างเวลา (คืนค่า TIME)ADDTIME(time, expr)/SUBTIME(time, expr)- บวก/ลบเวลาTIME_FORMAT(time, format)- จัดรูปแบบแสดงผลHOUR(), MINUTE(), SECOND()- แยกส่วน
ข้อแตกต่าง TIME vs DATETIME vs TIMESTAMP:
| Type | เก็บ | ช่วง | ใช้เมื่อ |
|---|---|---|---|
| TIME | เวลาเท่านั้น | -838:59:59 ~ 838:59:59 | เวลาทำงาน, ระยะเวลา, Schedule ประจำวัน |
| DATETIME | วันที่+เวลา | 1000-01-01 ~ 9999-12-31 | Timestamp ทั่วไป ไม่ต้อง Timezone conversion |
| TIMESTAMP | วันที่+เวลา (UTC) | 1970-01-01 ~ 2038-01-19 | Event logging, ต้องการ Timezone conversion อัตโนมัติ |