MySQL-এ VARCHAR কলামে 'HHMM' ফরম্যাটে (যেমন '1620' = ১৬:২০) সংরক্ষিত টাইমকে রিয়েল TIME ফরম্যাটে কনভার্ট করতে স্ট্রিং ম্যানিপুলেশন (SUBSTRING, CONCAT) এবং TIME_FORMAT() ব্যবহার করা হয়।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable1591 (ArrivalTime VARCHAR(20));
২. HHMM ফরম্যাটে ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable1591 VALUES('1620'), ('2345'), ('2210');
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable1591;
আউটপুট: 1620, 2345, 2210
৪. VARCHAR টাইম কে TIME ফরম্যাটে কনভার্ট করুন
mysql> SELECT TIME_FORMAT(
-> CONCAT(SUBSTRING(ArrivalTime, 1, 2), ':', SUBSTRING(ArrivalTime, 3, 4)),
-> '%H:%i'
-> ) FROM DemoTable1591;
৫. ফলাফল
+---------------------------------------------------------------------------------------------+
| TIME_FORMAT(CONCAT(SUBSTRING(ArrivalTime, 1, 2), ':', SUBSTRING(ArrivalTime, 3, 4)), '%H:%i') |
+---------------------------------------------------------------------------------------------+
| 16:20 |
| 23:45 |
| 22:10 |
+---------------------------------------------------------------------------------------------+
স্টেপ-বাই-স্টেপ ব্রেকডাউন:
SUBSTRING(ArrivalTime, 1, 2)- প্রথম ২ ক্যারেক্টার (আওয়ার: '16', '23', '22')।SUBSTRING(ArrivalTime, 3, 4)- ৩য় পজিশন থেকে ৪ ক্যারেক্টার (মিনিট: '20', '45', '10')। নোট: SUBSTRING(str, pos, len) - ৩, ৪ মানে পজিশন ৩ থেকে ৪ ক্যারেক্টার। '1620'-এ পজিশন ৩='2', ৪='0', ৫=শেষ। তাই '20' সঠিক।CONCAT(..., ':', ...)- '16:20' ফরম্যাট বানায়।TIME_FORMAT(..., '%H:%i')- ২৪ ঘণ্টা ফরম্যাটে TIME টাইপ রিটার্ন করে।
সরল বিকল্প (MySQL): CAST(CONCAT(SUBSTRING(ArrivalTime,1,2), ':', SUBSTRING(ArrivalTime,3,2)) AS TIME)।
সেরা অনুশীলন: টাইম ডেটা TIME বা DATETIME টাইপে সংরক্ষণ করুন, VARCHAR-এ না।