SQL Date ফাংশন
তারিখ নিয়ে কাজ করার সময় সবচেয়ে গুরত্বপূর্ণ কাজ হলো আপনি তারিখের যে ফরম্যাট নির্বাচন করেছেন তা যেন আপনার ডেটাবেজ কলামের date
ফরম্যাটের সাথে মিলে। এটা নাহলে আপনি ডেটাবেজে সঠিক ভাবে date
ইনপুট করতে পারবেন না।
আপনার date
কলামে শুধুমাত্র তারিখ থাকলে কুয়েরি করতে অনেক সহজ হবে। কিন্তু যদি আপনার date
কলামে তারিখের পাশাপাশি সময়ও থাকে তাহলে কুয়েরি করা একটু কঠিন হয়ে উঠে।
নিম্নে MySQL এবং SQL Server এর কিছু গুরুত্বপূর্ণ বিল্ট-ইন date
ফাংশন এবং তাদের ব্যবহার বর্ণনা করা হলোঃ
MySQL Date ফাংশন
নিম্নের তালিকায় MySQL এর কয়েকটি গুরুত্বপূর্ণ বিল্ট-ইন ফাংশন দেওয়া হলঃ
ফাংশন | বর্ণনা |
---|---|
NOW() |
বর্তমান date এবং time রিটার্ন করবে। |
CURDATE() |
বর্তমান date রিটার্ন করবে। |
CURTIME() |
বর্তমান time রিটার্ন করবে। |
DATE() |
date অথবা date /time এক্সপ্রেশন থেকে শুধুমাত্র date অংশটি নিবে। |
EXTRACT() |
date অথবা time যেকোন একটি অংশ রিটার্ন করবে। |
DATE_ADD() |
date এ একটি নির্দিষ্ট সময় ব্যবধান যোগ করবে। |
DATE_SUB() |
date থেকে একটি নির্দিষ্ট সময় ব্যবধান বিয়োগ করবে। |
DATEDIFF() |
দুইটি date এর পার্থক্য রিটার্ন করবে। |
DATE_FORMAT() |
date অথবা time কে দেখানোর জন্য বিভিন্ন ফরম্যাট নির্ধারন করবে। |
SQL Server Date ফাংশন
নিম্নের লিস্টে SQL Server এর কয়েকটি গুরুত্বপূর্ণ বিল্ট-ইন ফাংশন দেওয়া হলঃ
ফাংশন | বর্ণনা |
---|---|
GETDATE() |
বর্তমান date এবং time রিটার্ন করবে। |
DATEPART() |
date অথবা time যেকোন একটি অংশ রিটার্ন করবে। |
DATEADD() |
date থেকে একটি নির্দিষ্ট সময় ব্যবধান যোগ/বিয়োগ করবে। |
DATEDIFF() |
দুইটি date এর পার্থক্য রিটার্ন করবে। |
CONVERT() |
date অথবা time কে দেখানোর জন্য বিভিন্ন ফরম্যাট নির্ধারন করবে। |
SQL Date টাইপ
MySQL ডেটাবেজে date
অথবা date
/time
এর সিনট্যাক্সঃ
DATE
- ফরম্যাটঃYYYY-MM-DD
DATETIME
- ফরম্যাটঃYYYY-MM-DD HH:MI:SS
DATETIME
- ফরম্যাটঃYYYY-MM-DD HH:MI:SS
YEAR
- ফরম্যাটঃYYYY
অথবাYY
SQL Server ডেটাবেজে date
অথবা date
/time
এর সিনট্যাক্সঃ
DATE
- ফরম্যাটঃYYYY-MM-DD
DATETIME
- ফরম্যাটঃYYYY-MM-DD
HH:MI:SS
SMALLDATETIME
- ফরম্যাটঃYYYY-MM-DD
HH:MI:SS
DATETIME
- ফরম্যাটঃ একটি ইউনিক নাম্বার
বিঃদ্রঃ ডাটবেজে নতুন টেবিল তৈরি করার সময় আপনি কলাম এর জন্য date
এর টাইপ নির্ধারণ করে দিতে পারবেন!
SQL Date ফাংশন এর ব্যবহার
তারিখের সাথে অন্য কোন উপাদান জড়িত না থাকলে আপনি খুব সহজেই দুইটি তারিখের মধ্যে তুলনা করতে পারেন।
নিম্নলিখিত "Student_attendance" টেবিলটি দেখুনঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
এখন আমরা "ভর্তির তারিখ(Admission_date)" কলাম থেকে "০১-১১-২০১৫" তারিখের রেকর্ড-সমূহ সিলেক্ট করবো।
SELECT * FROM Student_attendance
WHERE Admission_date='০১-১১-২০১৫';
ফলাফলঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
এখন আমরা "Student_attendance" টেবিলের "ভর্তির তারিখ(Admission_date)" কলামে তারিখের সাথে সময়ও যুক্ত করবো।
ধরুন, এখন আমাদের "Student_attendance" টেবিলটি নিম্নের মত দেখাবেঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ ১১:৩০:২০ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ ১১:৩২:১০ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ ১১:৪০:৪৫ |
এখন আমরা যদি উপরের মত একই SELECT
স্টেটমেন্ট ব্যবহার করি তাহলে আমরা কোন ফলাফল পাবো না! কারন এই কুয়েরিটি শুধুমাত্র date
কে সিলেক্ট করবে।
বিঃদ্রঃ আপনি যদি আপনার কুয়েরিকে সহজ রাখতে চান তাহলে date
কলামে time
কে ভিন্ন কলামে যোগ করুন।