ฟังก์ชัน SECOND() ใช้เพื่อดึงค่าวินาทีจากเวลาที่อยู่ในฟอร์แมต TIME, DATETIME, หรือ TIMESTAMP เหมาะสำหรับการวิเคราะห์ข้อมูลตามวินาที เช่น การตรวจสอบ log, การจับเวลา, หรือการทำงานที่ละเอียดมากระดับ sub-minute
ประโยชน์ของฟังก์ชัน SECOND()
- ใช้ตรวจสอบวินาทีของเหตุการณ์ เช่น รายการที่เกิดในวินาทีที่แน่นอน
- ใช้กรองข้อมูลเฉพาะวินาทีที่ต้องการ เช่น วินาทีที่ 00 หรือ 59
- ใช้จัดกลุ่มข้อมูลตามวินาทีเพื่อวิเคราะห์ละเอียดมาก
- เหมาะกับระบบจับเวลา, วิเคราะห์ log แบบละเอียด, หรือระบบตรวจสอบ event
รูปแบบการใช้งาน
SECOND(time_value)
time_valueคือค่าที่เป็นTIME,DATETIME,TIMESTAMPหรือ string ที่แปลงเป็นเวลาได้ เช่น'10:25:45','2025-04-10 08:15:59',NOW()
ตัวอย่างการใช้งาน
ดึงวินาทีจาก DATETIME
SQL
SELECT SECOND('2025-04-10 14:30:45') AS second_part;
-- ผลลัพธ์: 45ดึงวินาทีจากเวลาปัจจุบัน
SQL
SELECT SECOND(NOW()) AS current_second;
-- ตัวอย่างผลลัพธ์: 22 (ขึ้นอยู่กับเวลาจริง)ตัวอย่างการประยุกต์ใช้งาน
กรอง log ที่เกิดในวินาทีที่ 0 ของแต่ละนาที
SQL
SELECT *
FROM logs
WHERE SECOND(log_time) = 0;สรุปจำนวน event ที่เกิดในแต่ละวินาที
SQL
SELECT SECOND(event_time) AS second_in_minute,
COUNT(*) AS total_events
FROM event_logs
GROUP BY second_in_minute
ORDER BY second_in_minute;