তারিখ নিয়ে কাজ করার সময় সবচেয়ে গুরত্বপূর্ণ কাজ হলো আপনি তারিখের যে ফরম্যাট নির্বাচন করেছেন তা যেন আপনার ডেটাবেজ কলামের
date
ফরম্যাটের সাথে মিলে। এটা নাহলে আপনি ডেটাবেজে সঠিক ভাবেdate
ইনপুট করতে পারবেন না।
আপনার date
কলামে শুধুমাত্র তারিখ থাকলে কুয়েরি করতে অনেক সহজ হবে। কিন্তু যদি আপনার date
কলামে তারিখের পাশাপাশি সময়ও থাকে তাহলে কুয়েরি করা একটু কঠিন হয়ে উঠে।
নিম্নে MySQL এবং SQL Server এর কিছু গুরুত্বপূর্ণ বিল্ট-ইন 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 এর কয়েকটি গুরুত্বপূর্ণ বিল্ট-ইন ফাংশন দেওয়া হলঃ
ফাংশন | বর্ণনা |
---|---|
GETDATE () | বর্তমান date এবং time রিটার্ন করবে। |
DATEPART () | date অথবা time যেকোন একটি অংশ রিটার্ন করবে। |
DATEADD () | date থেকে একটি নির্দিষ্ট সময় ব্যবধান যোগ/বিয়োগ করবে। |
DATEDIFF () | দুইটি date এর পার্থক্য রিটার্ন করবে। |
CONVERT () | date অথবা time কে দেখানোর জন্য বিভিন্ন ফরম্যাট নির্ধারন করবে। |
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
এর টাইপ নির্ধারণ করে দিতে পারবেন!
তারিখের সাথে অন্য কোন উপাদান জড়িত না থাকলে আপনি খুব সহজেই দুইটি তারিখের মধ্যে তুলনা করতে পারেন।
নিম্নলিখিত "Student_attendance" টেবিলটি দেখুনঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
এখন আমরা "ভর্তির তারিখ(Admission_date)" কলাম থেকে "০১-১১-২০১৫" তারিখের রেকর্ড-সমূহ সিলেক্ট করবো।
উদাহরণ
SELECT * FROM Student_attendance
WHERE Admission_date='০১-১১-২০১৫';
ফলাফলঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
এখন আমরা "Student_attendance" টেবিলের "ভর্তির তারিখ(Admission_date)" কলামে তারিখের সাথে সময়ও যুক্ত করবো।
ধরুন, এখন আমাদের "Student_attendance" টেবিলটি নিম্নের মত দেখাবেঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ ১১:৩০:২০ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ ১১:৩২:১০ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ ১১:৪০:৪৫ |
এখন আমরা যদি উপরের মত একই
SELECT
স্টেটমেন্ট ব্যবহার করি তাহলে আমরা কোন ফলাফল পাবো না! কারন এই কুয়েরিটি শুধুমাত্রdate
কে সিলেক্ট করবে।বিঃদ্রঃ আপনি যদি আপনার কুয়েরিকে সহজ রাখতে চান তাহলে
date
কলামেtime
কে ভিন্ন কলামে যোগ করুন।
আরও দেখুন...