MySQL Working With Dates

MySQL-এ তারিখ নিয়ে কাজ করার বিষয়ে জানুন

মাইএসকিউএল তারিখ

তারিখগুলির সাথে কাজ করার সময় সবচেয়ে কঠিন অংশটি নিশ্চিত করা যে আপনি যে তারিখটি সন্নিবেশ করার চেষ্টা করছেন তার বিন্যাসটি ডাটাবেসের তারিখের কলামের বিন্যাসের সাথে মেলে।

যতক্ষণ আপনার ডেটাতে শুধুমাত্র তারিখ ক্ষেত্র থাকবে, আপনার প্রশ্নগুলি প্রত্যাশিত হিসাবে কাজ করবে। যাইহোক, যখন একটি সময় অঞ্চল জড়িত হয়, তখন এটি আরও জটিল হয়ে ওঠে।

মাইএসকিউএল তারিখ ডেটা প্রকার

ডাটাবেসে একটি তারিখ বা তারিখ/সময় মান সংরক্ষণ করতে MySQL নিম্নলিখিত ডেটা প্রকারের সাথে আসে:

ডেটা টাইপ ফর্ম
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:MI:SS
TIMESTAMP YYYY-MM-DD HH:MI:SS
YEAR YYYY বা YY

💡দ্রষ্টব্য:

আপনি যখন আপনার ডাটাবেসে একটি নতুন টেবিল তৈরি করেন তখন তারিখ ডেটা টাইপ একটি কলামে সেট করা হয়!

তারিখ নিয়ে কাজ করা

নিম্নলিখিত টেবিলটি দেখুন:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

এখন আমরা উপরের টেবিল থেকে OrderDate "2008-11-11" সহ রেকর্ড নির্বাচন করতে চাই।

আমরা নিম্নলিখিত SELECT স্টেটমেন্ট ব্যবহার করি:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

ফলাফল-সেট এই মত দেখাবে:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

💡দ্রষ্টব্য:

কোন সময়ের উপাদান জড়িত না থাকলে দুটি তারিখ সহজেই তুলনা করা যেতে পারে!

তারিখ এবং সময় নিয়ে কাজ করা

এখন, ধরুন "অর্ডার" টেবিলটি এরকম দেখাচ্ছে ("অর্ডারডেট" কলামে যোগ করা সময়-উপাদানটি লক্ষ্য করুন):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

যদি আমরা উপরের মত একই SELECT স্টেটমেন্ট ব্যবহার করি:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

আমরা কোন ফলাফল পাই না! এর কারণ হল ক্যোয়ারী শুধুমাত্র সেই তারিখগুলির জন্য অনুসন্ধান করে যেগুলির একটি সময় অংশ নেই৷

💡পরামর্শ:

আপনার প্রশ্নগুলি সহজ এবং বজায় রাখা সহজ রাখতে, আপনার তারিখগুলিতে সময়ের উপাদানগুলি ব্যবহার করবেন না যদি না আপনাকে একেবারেই করতে হয়!

অনুশীলন করুন

2008-11-11 OrderDate দিয়ে রেকর্ড ফিল্টার করতে সঠিক কলামের নাম নির্বাচন করুন।

ProductName
✗ ভুল! ProductName হল একটি কলাম যাতে পণ্যের নাম থাকে এবং তারিখ অনুসারে ফিল্টার করতে ব্যবহার করা যায় না
OrderId
✗ ভুল! OrderId হল একটি কলাম যাতে অর্ডার শনাক্তকরণ নম্বর থাকে এবং তারিখ অনুসারে ফিল্টার করতে ব্যবহার করা যায় না
OrderDate
✓ ঠিক আছে! OrderDate হল তারিখের তথ্য সম্বলিত একটি কলাম যা তারিখের উপর ভিত্তি করে রেকর্ড ফিল্টার করতে ব্যবহৃত হয়
DateColumn
✗ ভুল! DateColumn এই টেবিলে একটি প্রকৃত কলামের নাম নয়