ভুল তারিখের মান ত্রুটি এড়াতে, আপনি STR_TO_DATE() পদ্ধতি ব্যবহার করতে পারেন৷
যেহেতু আমরা জানি ডেটটাইম ফরম্যাট হল YYYY-MM-DD এবং আপনি যদি একই ফর্ম্যাটে ঢোকান না, তাহলে ত্রুটি তৈরি হবে৷
আসুন দেখি কি আসলে এই ত্রুটির দিকে পরিচালিত করে। এর জন্য, আসুন একটি নতুন টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ
mysql> টেবিল তৈরি করুন CorrectDatetimeDemo -> ( -> Id int NULL AUTO_INCREMENT PRIMARY KEY, -> Arrivaltime datetime -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.63 সেকেন্ড)
এটি ঘটে যখন আমরা একটি ভুল তারিখ সময় বিন্যাস সহ একটি তারিখ অন্তর্ভুক্ত করার চেষ্টা করি
mysql> সঠিকDatetimeDemo(ArrivalTime) মান ('18/02/2019 11:15:45'); ত্রুটি 1292 (22007):ভুল তারিখের মান:'18/02/2019 11:15:45' এর জন্য কলাম 'ArivalTime' সারি 1 এ
উপরের ত্রুটি এড়াতে, আপনি STR_TO_DATE().
ব্যবহার করতে পারেনসিনট্যাক্স নিম্নরূপ
আপনার টেবিলের নাম(yourDateTimeColumnName) মানগুলিতে সন্নিবেশ করুন (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
এখন, উপরের সিনট্যাক্সে দেখানো সঠিক বিন্যাসের সাথে তারিখের সময় আবার সন্নিবেশ করা যাক।
প্রশ্নটি নিম্নরূপ
mysql> সঠিকDatetimeDemo(ArrivalTime) মানগুলিতে সন্নিবেশ করান(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.21 সেকেন্ড)mysql> সঠিক তারিখের ডেমো(অ্যারিভালটাইম) মানগুলিতে ঢোকান(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:% s'));কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)mysql> সঠিক তারিখের ডেমো(অ্যারিভালটাইম) মানগুলিতে সন্নিবেশ করুন(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y % H:%i:%s')); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.20 সেকেন্ড)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন।
প্রশ্নটি নিম্নরূপ
mysql> CorrectDatetimeDemo থেকে *নির্বাচন করুন;
নিম্নলিখিত আউটপুট
<প্রে>+------+---------+| আইডি | আগমনের সময় |+---+-------------------------+| 1 | 2019-02-18 11:15:45 || 2 | 2017-01-15 10:10:15 || 3 | 2016-04-12 15:30:35 |+----+----------------------+3টি সারি সেটে (0.00 সেকেন্ড)