কম্পিউটার টিউটোরিয়াল

MySQL-এ সেকেন্ড থেকে সময় হিসাব করা (SEC_TO_TIME, TIME_TO_SEC)


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-এ কাস্ট করে আলাদা ক্যালকুলেশন করুন।
  1. MySQL-এ STR_TO_DATE দিয়ে স্ট্রিংকে টাইমSTAMP-এ রূপান্তর

  2. MySQL-এ টাইম উপেক্ষা করে শুধু ডেট অনুযায়ী গ্রুপ বাই করা

  3. MySQL-এ TIME_FORMAT(), SUBSTRING(), CONCAT() ব্যবহার করে VARCHAR 'টাইম' কে রিয়েল টাইমে কনভার্ট করুন

  4. এক্সেলে টাইম ডিফারেন্স ক্যালকুলেট করার পদ্ধতি