"১h ১৫ min" ফরম্যাটের স্ট্রিংকে মিনিটে রূপান্তর করতে STR_TO_DATE() এবং TIME_TO_SEC() ফাংশন ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (stringDate VARCHAR(100));
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable VALUES('1h 15 min'), ('2h 30 min');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+------------+ | stringDate | +------------+ | 1h 15 min | | 2h 30 min | +------------+
স্ট্রিংকে মিনিটে রূপান্তর করার কোয়েরি:
mysql> SELECT TIME_TO_SEC(STR_TO_DATE(stringDate, '%l h %i min')) / 60 AS minutes FROM DemoTable HAVING minutes IS NOT NULL UNION ALL SELECT TIME_TO_SEC(STR_TO_DATE(stringDate, '%i min')) / 60 AS minutes FROM DemoTable HAVING minutes IS NOT NULL;
আউটপুট:
+----------+ | minutes | +----------+ | 75.0000 | | 150.0000 | +----------+
ব্যাখ্যা:
STR_TO_DATE(stringDate, '%l h %i min'): '১h ১৫ min' ফরম্যাট পার্স করে TIME ভ্যালু বানায় (০১:১৫:০০)।%l= ১২-ঘণ্টা ফরম্যাটে ঘণ্টা (১-১২),%i= মিনিট।TIME_TO_SEC(...): TIME ভ্যালুকে সেকেন্ডে রূপান্তর করে (৪৫০০ সেকেন্ড)।/ 60: সেকেন্ডকে মিনিটে রূপান্তর করে।UNION ALL: শুধু মিনিট ফরম্যাট ('১৫ min') वालাও হ্যান্ডেল করার জন্য দ্বিতীয় কোয়েরি।HAVING minutes IS NOT NULL: পার্স করতে না পারলে NULL ফেরত দেয়, সেগুলো বাদ দেয়।
সতর্কতা: এটি কিছুটা জটিল। অ্যাপ্লিকেশন লেভেলে (PHP, Python, Java) পার্স করা বেশি নির্ভরযোগ্য এবং পঠনীয়।