TIME_TO_SEC() এবং SEC_TO_TIME() দিয়ে সময় যোগফল
MySQL-এ TIME টাইপের কলামের সময়গুলো যোগ করতে: প্রথমে TIME_TO_SEC() দিয়ে সেকেন্ডে রূপান্তর করুন, SUM() দিয়ে যোগ করুন, তারপর SEC_TO_TIME() দিয়ে আবার TIME ফরম্যাটে ফিরিয়ে আনুন।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (Logouttime TIME);
mysql> INSERT INTO DemoTable VALUES('5:50:00'), ('6:10:10'), ('8:00:50');
সব রেকর্ড
+------------+ | Logouttime | +------------+ | 05:50:00 | | 06:10:10 | | 08:00:50 | +------------+
সময় যোগফল কোয়েরি
mysql> SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(Logouttime))) FROM DemoTable;
+-------------------------------------------+ | SEC_TO_TIME(SUM(TIME_TO_SEC(Logouttime))) | +-------------------------------------------+ | 20:01:00 | +-------------------------------------------+
ধাপে ধাপে গণনা
- 05:50:00 = 21,000 সেকেন্ড
- 06:10:10 = 22,210 সেকেন্ড
- 08:00:50 = 28,850 সেকেন্ড
- যোগফল = 72,060 সেকেন্ড = ২০ ঘণ্টা ১ মিনিট ০ সেকেন্ড
নোট
SEC_TO_TIME()৮৩৮:৫৯:৫৯ এর বেশি সেকেন্ড হলে NULL রিটার্ন করতে পারে (MySQL সংস্করণ অনুযায়ী)।- বড় সময় যোগফলের জন্য
SUM(TIME_TO_SEC(...))কে BIGINT-এ কাস্ট করে আলাদা ক্যালকুলেশন করুন।