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

MySQL-এ ভুল ডেটাটাইম ফরম্যাট এড়িয়ে সঠিক ইনসার্শন (STR_TO_DATE)

MySQL-এ ডেটাটাইম ইনসার্ট করার সময় ভুল ফরম্যাট (যেমন DD/MM/YYYY) দিলে ERROR 1292: Incorrect datetime value ত্রুটি হয়। এড়তে STR_TO_DATE() ফাংশন ব্যবহার করুন।

সমস্যা

টেবিল তৈরি:

mysql> CREATE TABLE CorrectDatetimeDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ArrivalTime DATETIME
    -> );

ভুল ফরম্যাটে ইনসার্ট করলে এরর:

mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime'

সমাধান: STR_TO_DATE()

সিনট্যাক্স:

INSERT INTO yourTable(yourDateTimeColumn) VALUES (STR_TO_DATE('yourDateTimeValue', '%d/%m/%Y %H:%i:%s'));

সঠিক ফরম্যাটে ইনসার্ট:

mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES(STR_TO_DATE('18/02/2019 11:15:45', '%d/%m/%Y %H:%i:%s'));
mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES(STR_TO_DATE('15/01/2017 10:10:15', '%d/%m/%Y %H:%i:%s'));
mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES(STR_TO_DATE('12/04/2016 15:30:35', '%d/%m/%Y %H:%i:%s'));

ফলাফল (MySQL স্ট্যান্ডার্ড YYYY-MM-DD HH:MM:SS ফরম্যাটে):

mysql> SELECT * FROM CorrectDatetimeDemo;
+----+---------------------+
| Id | ArrivalTime         |
+----+---------------------+
|  1 | 2019-02-18 11:15:45 |
|  2 | 2017-01-15 10:10:15 |
|  3 | 2016-04-12 15:30:35 |
+----+---------------------+

ফরম্যাট স্পেসিফায়ার: %d=দিন, %m=মাস, %Y=৪-ডিজিট বছর, %H=ঘণ্টা (২৪-ঘণ্টা), %i=মিনিট, %s=সেকেন্ড।

  1. MySQL-এ কলামের ডিফল্ট ভ্যালু পরিবর্তন করুন

  2. MySQL-এ শর্তসাপেক্ষে ১ বিয়োগ করা: ফিল্ড ভ্যালু ০-এর চেয়ে বড় হলে

  3. MySQL-এ প্রোডাক্ট টেবিল থেকে টোটাল প্রোডাক্ট ভ্যালু ক্যালকুলেট করা

  4. MySQL-এ টেবিলের কাঠামো ক্লোন করা