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

MySQL-এ বর্তমান তারিখ (CURDATE) দিয়ে রেকর্ড ফিল্টার

MySQL-এ CURDATE() ফাংশন ব্যবহার করে বর্তমান তারিখ অনুযায়ী রেকর্ড ফিল্টার করা যায়।

উদাহরণ

mysql> CREATE TABLE DemoTable (DueDate DATETIME);
Query OK, 0 rows affected (0.94 sec)

mysql> INSERT INTO DemoTable VALUES
('2019-07-10 04:20:00'), ('2019-07-10 05:10:40'), ('2019-07-10 09:00:20'),
('2019-07-10 10:01:04'), ('2019-07-10 12:11:10');
Query OK, 5 rows affected

সব রেকর্ড

mysql> SELECT * FROM DemoTable;
+---------------------+
| DueDate             |
+---------------------+
| 2019-07-10 04:20:00 |
| 2019-07-10 05:10:40 |
| 2019-07-10 09:00:20 |
| 2019-07-10 10:01:04 |
| 2019-07-10 12:11:10 |
+---------------------+

আজকের তারিখ + সময় রেঞ্জ (04:00 - 10:00)

mysql> SELECT * FROM DemoTable
WHERE DATE(DueDate) = CURDATE()
  AND TIME(DueDate) > '04:00:00'
  AND TIME(DueDate) < '10:00:00';
+---------------------+
| DueDate             |
+---------------------+
| 2019-07-10 04:20:00 |
| 2019-07-10 05:10:40 |
| 2019-07-10 09:00:20 |
+---------------------+

ফাংশন ব্যাখ্যা

  • CURDATE() → বর্তমান তারিখ (YYYY-MM-DD)
  • DATE(datetime) → ডেটাইম থেকে ডেট অংশ বের করে
  • TIME(datetime) → ডেটাইম থেকে টাইম অংশ বের করে
  • NOW() → বর্তমান ডেটাইম

পারফরম্যান্স টিপস

  • DATE(DueDate) = CURDATE() ইনডেক্স ব্যবহার করে না (ফাংশন কল)
  • দ্রুত পদ্ধতি: WHERE DueDate >= CURDATE() AND DueDate < CURDATE() + INTERVAL 1 DAY
  • টাইম রেঞ্জও ইনডেক্স ফ্রেন্ডলি নয়; কম্পোজিট ইনডেক্স বা জেনারেটেড কলাম বিবেচনা করুন
  1. MySQL-এ ডেটার তালিকা থেকে বর্তমান তারিখ বের করা

  2. MySQL-এ DATE_ADD এবং MONTH() দিয়ে শুধু মাস আপডেট করা

  3. MySQL-এ INSERT INTO ব্যবহার করে তারিখ সহ রো ইনসার্ট করা

  4. MySQL-এ DATE_ADD ব্যবহার করে বর্তমান তারিখে ১১ দিন যোগ করা