MySQL-এ একাধিক TIME মান যোগ করতে সেগুলো সেকেন্ডে রূপান্তর করে যোগ করা হয়, তারপর আবার TIME ফরম্যাটে ফিরিয়ে আনা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> ArrivalTime TIME
-> );
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable VALUES('04:10:00');
mysql> INSERT INTO DemoTable VALUES('05:20:50');
mysql> INSERT INTO DemoTable VALUES('06:40:10');
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+-------------+ | ArrivalTime | +-------------+ | 04:10:00 | | 05:20:50 | | 06:40:10 | +-------------+ 3 rows in set (0.00 sec)
সময় যোগফল বের করা
mysql> SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ArrivalTime))) FROM DemoTable;
আউটপুট
+-------------------------------------------------+ | SEC_TO_TIME(SUM(TIME_TO_SEC(ArrivalTime))) | +-------------------------------------------------+ | 16:11:00 | +-------------------------------------------------+ 1 row in set (0.00 sec)
ব্যাখ্যা:
TIME_TO_SEC(ArrivalTime)— প্রতিটি টাইম মানকে সেকেন্ডে রূপান্তর করে (০৪:১০:০০ = ১৫০০০ সেকেন্ড)।SUM(...)— সব সেকেন্ড যোগ করে।SEC_TO_TIME(...)— মোট সেকেন্ডকে আবারHH:MM:SSফরম্যাটে রূপান্তর করে।
নোট: যদি যোগফল ২৪ ঘণ্টার বেশি হয়, SEC_TO_TIME ২৪ ঘণ্টার মডুলো নিয়ে ফলাফল দেয়। বড় সময়ের জন্য CONCAT(FLOOR(total_sec/3600), ':', ...) বা কাস্টম ফরম্যাটিং ব্যবহার করুন।