কম্পিউটার টিউটোরিয়াল

MySQL-এ ইউজার-ডিফাইনড ভ্যারিয়েবল ব্যবহার করে সর্বোচ্চ পরীক্ষার তারিখ বের করা

ইউজার-ডিফাইনড ভ্যারিয়েবল (@variable) এবং INTO ক্লজ ব্যবহার করে কোয়েরির ফলাফল ভ্যারিয়েবলে স্টোর করা যায়।

টেবিল ও ডেটা:

mysql> CREATE TABLE DemoTable2001 (ExamDate DATE);
mysql> INSERT INTO DemoTable2001 VALUES
    ('2019-01-10'), ('2018-12-31'), ('2018-11-18'), ('2019-07-25');

সর্বোচ্চ তারিখ ভ্যারিয়েবলে স্টোর করা:

mysql> SET @comingExamDate := NULL;
mysql> SELECT DATE(MAX(ExamDate)) INTO @comingExamDate FROM DemoTable2001;
mysql> SELECT @comingExamDate;

আউটপুট:

+------------------+
| @comingExamDate  |
+------------------+
| 2019-07-25       |
+------------------+

ব্যাখ্যা

  • SET @var := NULL — ভ্যারিয়েবল ইніশিয়ালাইজ।
  • SELECT ... INTO @var — কোয়েরির ফলাফল ভ্যারিয়েবলে অ্যাসাইন।
  • @var — সেশন-স্কোপড ভ্যারিয়েবল (কানেকশন বন্ধ না হয়ে পর্যন্ত থাকে)।

ব্যবহারিক উদাহরণ

-- পরবর্তী পরীক্ষার তারিখ নিয়ে নোটিফিকেশন পাঠানো
SET @next_exam := (SELECT MAX(ExamDate) FROM exams);
SELECT * FROM students WHERE exam_date = @next_exam;

স্টোরড প্রোসিডিউর বা ট্রিগারের ভেতরেও এই ভ্যারিয়েবল ব্যবহার করা যায়।

  1. MySQL-এ কলামের সর্বোচ্চ মান পেতে সবচেয়ে দ্রুত পদ্ধতি: MAX() বনাম ORDER BY LIMIT

  2. MySQL-এ ডেটা রেকর্ড ও বর্তমান তারিখের পার্থক্য বের করার পদ্ধতি

  3. SQL-এ ইউজার-ডিফাইনড ভেরিয়েবলে ইনক্রিমেন্টেড ভ্যালু সেট করে একাধিক টাইমস্ট্যাম্প মান ইনক্রিমেন্ট করা

  4. MySQL-এ DAYNAME() ফাংশন দিয়ে তারিখ থেকে দিনের নাম বের করা