MySQL-এ দুটি TIME মানর পার্থক্য সেকেন্ডে বের করতে TIMEDIFF() এবং TIME_TO_SEC() ফাংশন কম্বাইন করে ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> SourceTime TIME,
-> DestinationTime TIME
-> );
Query OK, 0 rows affected (1.33 sec)
mysql> INSERT INTO DemoTable VALUES('10:20:00', '04:50:54');
mysql> INSERT INTO DemoTable VALUES('12:05:10', '07:45:12');
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+------------+-----------------+ | SourceTime | DestinationTime | +------------+-----------------+ | 10:20:00 | 04:50:54 | | 12:05:10 | 07:45:12 | +------------+-----------------+ 2 rows in set (0.00 sec)
পার্থক্য সেকেন্ডে বের করা (ABS দিয়ে পজিটিভ মান)
mysql> SELECT ABS(TIME_TO_SEC(TIMEDIFF(DestinationTime, SourceTime))) FROM DemoTable;
আউটপুট
+---------------------------------------------------------+ | ABS(TIME_TO_SEC(TIMEDIFF(DestinationTime, SourceTime))) | +---------------------------------------------------------+ | 19746 | | 15598 | +---------------------------------------------------------+ 2 rows in set (0.00 sec)
ব্যাখ্যা (ধাপে ধাপে):
TIMEDIFF(DestinationTime, SourceTime)— দুটি টাইমের পার্থক্য (টাইম টাইপে):-05:29:06,-04:19:58।TIME_TO_SEC(...)— পার্থক্যকে সেকেন্ডে রূপান্তর:-19746,-15598।ABS(...)— পরম মান (পজিটিভ):19746,15598।
নোট: TIMEDIFF রেজাল্ট TIME টাইপ (রেঞ্জ: -838:59:59 থেকে 838:59:59)। বড় পার্থক্যের জন্য TIMESTAMPDIFF(SECOND, ...) ব্যবহার করুন।
সরল বিকল্প: SELECT ABS(TIMESTAMPDIFF(SECOND, SourceTime, DestinationTime)) FROM DemoTable; — একই ফলাফল, বেশি রেঞ্জ।