MySQL-এ দুটি তারিখের মাঝপথে ডেটা কুয়েরি করতে BETWEEN স্টেটমেন্ট ব্যবহার করা হয়। সিনট্যাক্স নিচে দেওয়া হলো:
SELECT * FROM yourTableName WHERE yourColumnName BETWEEN 'yourStartingDate' AND CURDATE();
এখানে CURDATE() বা NOW() যেকোনো একটি ফাংশন কাজ করবে। বুঝতে সহজ করার জন্য একটি টেবিল তৈরি করি:
mysql> CREATE TABLE BetweenDateDemo (
-> StartDate DATETIME
-> );
এখন টেবিলে কিছু রেকর্ড যোগ করি:
mysql> INSERT INTO BetweenDateDemo VALUES(DATE_ADD(NOW(), INTERVAL -1 YEAR)); mysql> INSERT INTO BetweenDateDemo VALUES(DATE_ADD(NOW(), INTERVAL -2 YEAR)); mysql> INSERT INTO BetweenDateDemo VALUES(DATE_ADD(NOW(), INTERVAL -3 YEAR)); mysql> INSERT INTO BetweenDateDemo VALUES(DATE_ADD(NOW(), INTERVAL 1 YEAR)); mysql> INSERT INTO BetweenDateDemo VALUES(DATE_ADD(NOW(), INTERVAL 2 YEAR)); mysql> INSERT INTO BetweenDateDemo VALUES(DATE_ADD(NOW(), INTERVAL 3 YEAR));
সব রেকর্ড দেখতে SELECT কুয়েরি চালান:
mysql> SELECT * FROM BetweenDateDemo;
আউটপুট হবে:
+---------------------+ | StartDate | +---------------------+ | 2017-12-08 11:45:47 | | 2016-12-08 11:45:56 | | 2015-12-08 11:46:01 | | 2019-12-08 11:46:05 | | 2020-12-08 11:46:11 | | 2021-12-08 11:46:15 | +---------------------+
এখন নির্দিষ্ট তারিখের মাঝপথে ডেটা বের করতে BETWEEN ব্যবহার করি:
mysql> SELECT * FROM BetweenDateDemo WHERE StartDate BETWEEN '2014-8-12' AND CURDATE();
ফলাফল:
+---------------------+ | StartDate | +---------------------+ | 2017-12-08 11:45:47 | | 2016-12-08 11:45:56 | | 2015-12-08 11:46:01 | +---------------------+
ক্রমানুসারে ফলাফল পেতে ORDER BY ব্যবহার করুন:
mysql> SELECT * FROM BetweenDateDemo WHERE StartDate BETWEEN '2014-8-12' AND CURDATE() ORDER BY StartDate;
সাজানো আউটপুট:
+---------------------+ | StartDate | +---------------------+ | 2015-12-08 11:46:01 | | 2016-12-08 11:45:56 | | 2017-12-08 11:45:47 | +---------------------+