3.1 তারিখ এবং সময়ের সাথে কাজ করার জন্য ফাংশনের তালিকা

তারিখ এবং সময় ডাটাবেসে সংরক্ষিত ডেটার সবচেয়ে সাধারণ ধরনের একটি। এজন্য তাদের সাথে কাজ করার জন্য ফাংশনের তালিকাটি খুব বড়। এখানে সবচেয়ে জনপ্রিয় হল:

# ফাংশন বর্ণনা
1 CURDATE() বর্তমান তারিখ প্রদান করে
2 CURTIME() বর্তমান সময় প্রদান করে
3 NOW(), স্থানীয় সময়() বর্তমান তারিখ এবং বর্তমান সময় প্রদান করে
4 YEAR() তারিখ থেকে বছর প্রদান করে
5 মাস() একটি তারিখ থেকে মাস ফেরত দেয়
6 DAY(), DAYOFMONTH() তারিখ থেকে দিন ফেরত দেয়
7 ঘন্টা() সময় থেকে মাত্র ঘন্টা রিটার্ন
8 মিনিট() সময় থেকে মিনিট ঘোষণা
9 সেকেন্ড() সময় থেকে সেকেন্ড রিটার্ন
10 DAYNAME() সপ্তাহের দিনের নাম প্রদান করে: সোমবার, ...
এগারো MONTHNAME() মাসের নাম ফেরত দেয়: জানুয়ারি,...
12 সপ্তাহ() একটি তারিখ থেকে সপ্তাহ ফেরত দেয়
13 সপ্তাহের দিন() সপ্তাহের দিনের সংখ্যা প্রদান করে: সোমবার - 0, মঙ্গলবার - 1
14 উইকোফেয়ার() বছরের সপ্তাহের সংখ্যা প্রদান করে
15 সপ্তাহের দিন() সপ্তাহের দিনের সংখ্যা প্রদান করে: রবিবার - 1, সোমবার - 2
16 DAYOFYEAR() বছরের দিন ফেরত দেয়: 1-366
17 DATE() একটি "তারিখ সময়" বস্তু থেকে শুধুমাত্র তারিখ প্রদান করে
18 তারিখ যোগ() তারিখে দিন যোগ করে
19 SUBDATE() একটি তারিখ থেকে দিন বিয়োগ করে
20 ADDTIME() সময়ে সময়ে যোগ করে
21 সাবটাইম() সময় থেকে সময় বিয়োগ করে

আমি ইচ্ছাকৃতভাবে ফাংশনগুলিকে ছোট দলে ভাগ করেছি যাতে তাদের সাথে কীভাবে কাজ করা যায় তা বোঝা সহজ হয়। নীচে আমরা প্রতিটি গ্রুপ থেকে একটি ফাংশন বিবেচনা করব।

আপনি এই লিঙ্কে তারিখ এবং সময়ের সাথে কাজ করার জন্য ফাংশনগুলির একটি সম্পূর্ণ তালিকা পেতে পারেন: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

3.2 কলিং ফাংশন

যাইহোক, যেহেতু আমরা অনেকগুলি ফাংশন শিখছি, আমি মনে করি এটি উল্লেখ করা সহায়ক যে অপারেটরটির SELECTসাথে ব্যবহার করতে হবে না FROM। এটি যেকোনো এক্সপ্রেশনের মান ফেরত দিতে পারে। যার সাধারণ দৃষ্টিভঙ্গি টেমপ্লেট দ্বারা দেওয়া হয়েছে:

SELECT expression

এবং যদি আপনি কিছু ফাংশন কল করতে চান, তাহলে আপনাকে কোড লিখতে হবে যেমন:

SELECT function(options)

SELECTনীচে আমি টেবিলের আশ্রয় ছাড়াই অপারেটরের অপারেশনের কিছু উদাহরণ দেব :

# অনুরোধ ফলাফল
1 1+1 নির্বাচন করুন 2
2 13 MOD 5 নির্বাচন করুন 3
3 RAND নির্বাচন করুন() 0.20771444235715497
4 CURDATE() নির্বাচন করুন 2022-06-04
5 CURTIME() নির্বাচন করুন 00:06:02
6 এখন নির্বাচন করুন() 2022-06-04 00:06:43

এবং, আপনি দেখতে পাচ্ছেন, উপরের টেবিলে, বর্তমান তারিখ এবং সময় পেতে, আপনাকে কেবল একটি ফাংশন ব্যবহার করতে হবে:

  • CURDATE()- বর্তমান তারিখ;
  • CURTIME()- বর্তমান সময়;
  • NOW()- বর্তমান তারিখ এবং সময়।

3.3 বছর এবং মাস অনুসারে ডেটা গ্রুপ করা

আসুন কর্মীদের জন্য টাস্ক সহ আমাদের টাস্ক টেবিলটি স্মরণ করি। আসুন এই টেবিল থেকে বছর অনুসারে কাজগুলিকে গ্রুপ করার চেষ্টা করি। এটি করার জন্য, আমরা ফাংশনটি ব্যবহার করি YEAR(), যা এটিতে পাস করা তারিখ থেকে বছর ফেরত দেয়।

আমাদের প্রশ্নের প্রথম সংস্করণটি দেখতে এইরকম হবে:

SELECT
    id,
    employee_id ,
    name,
    YEAR(deadline) AS year,
    deadline
FROM task

এই প্রশ্নের ফলাফল হবে:

আইডি কর্মচারী আইডি নাম বছর শেষ তারিখ
1 1 ফ্রন্টএন্ডে একটি বাগ ঠিক করুন 2022 2022-06-01
2 2 ব্যাকএন্ডে একটি বাগ ঠিক করুন 2022 2022-06-15
3 5 কফি কিনুন 2022 2022-07-01
4 5 কফি কিনুন 2022 2022-08-01
5 5 কফি কিনুন 2022 2022-09-01
6 (খালি) অফিস পরিষ্কার করুন (খালি) (খালি)
7 4 জীবন উপভোগ করুন (খালি) (খালি)
8 6 জীবন উপভোগ করুন (খালি) (খালি)

আমরা দেখতে পাচ্ছি যে সমস্ত সারি একই বছর আছে, তাই আসুন দুটি ক্ষেত্র ব্যবহার করি - বছর এবং মাস। আমাদের প্রশ্নের দ্বিতীয় সংস্করণটি দেখতে এইরকম হবে:

SELECT
    id,
    employee_id ,
    name,
    YEAR(deadline) AS year,
    MONTH(deadline) AS month,
    deadline
FROM task

এই প্রশ্নের ফলাফল হবে:

আইডি কর্মচারী আইডি নাম বছর মাস শেষ তারিখ
1 1 ফ্রন্টএন্ডে একটি বাগ ঠিক করুন 2022 6 2022-06-01
2 2 ব্যাকএন্ডে একটি বাগ ঠিক করুন 2022 6 2022-06-15
3 5 কফি কিনুন 2022 7 2022-07-01
4 5 কফি কিনুন 2022 8 2022-08-01
5 5 কফি কিনুন 2022 9 2022-09-01
6 (খালি) অফিস পরিষ্কার করুন (খালি) (খালি) (খালি)
7 4 জীবন উপভোগ করুন (খালি) (খালি) (খালি)
8 6 জীবন উপভোগ করুন (খালি) (খালি) (খালি)

আমি আপনাকে বলব না কিভাবে বছর এবং মাস অনুসারে কাজগুলিকে গোষ্ঠীভুক্ত করতে হয় - আপনি ইতিমধ্যে এটি অধ্যয়ন করেছেন: অপারেটর ব্যবহার করুন GROUP BY