MySQL การใช้งานฟังก์ชัน SECOND()

ฟังก์ชัน SECOND() ใช้เพื่อดึงค่าวินาทีจากเวลาที่อยู่ในฟอร์แมต TIME, DATETIME, หรือ TIMESTAMP เหมาะสำหรับการวิเคราะห์ข้อมูลตามวินาที เช่น การตรวจสอบ log, การจับเวลา, หรือการทำงานที่ละเอียดมากระดับ sub-minute

ประโยชน์ของฟังก์ชัน SECOND()

  1. ใช้ตรวจสอบวินาทีของเหตุการณ์ เช่น รายการที่เกิดในวินาทีที่แน่นอน
  2. ใช้กรองข้อมูลเฉพาะวินาทีที่ต้องการ เช่น วินาทีที่ 00 หรือ 59
  3. ใช้จัดกลุ่มข้อมูลตามวินาทีเพื่อวิเคราะห์ละเอียดมาก
  4. เหมาะกับระบบจับเวลา, วิเคราะห์ 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;
แชร์เรื่องนี้