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

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

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-এ না।

  1. MySQL-এ CAST() ব্যবহার করে VARCHAR কে UNSIGNED INTEGER-এ রূপান্তর

  2. MySQL-এ TIME_FORMAT দিয়ে HH:MM:SS থেকে HH:MM ফরম্যাটে কনভার্ট করা

  3. MySQL-এ VARCHAR বা TIME ডেটা টাইপের সারি যোগফল বের করা

  4. MySQL-এ STR_TO_DATE() ব্যবহার করে ডেট ফরম্যাট কনভার্ট করা