বর্তমান সময় (NOW()) দুটি তারিখের মাঝপথে আছে কিনা চেক করতে BETWEEN ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
FirstDate DATETIME,
SecondDate DATETIME
);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable VALUES('2019-04-01', '2019-05-02');
mysql> INSERT INTO DemoTable VALUES('2019-05-28', '2019-06-04');
mysql> INSERT INTO DemoTable VALUES('2016-01-31', '2019-03-01');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-----------------------+-----------------------+ | FirstDate | SecondDate | +-----------------------+-----------------------+ | 2019-04-01 00:00:00 | 2019-05-02 00:00:00 | | 2019-05-28 00:00:00 | 2019-06-04 00:00:00 | | 2016-01-31 00:00:00 | 2019-03-01 00:00:00 | +-----------------------+-----------------------+
NOW() মাঝপথে আছে এমন সারি খুঁজে বের করা (ধরে নিচ্ছি NOW() = '2019-05-30'):
mysql> SELECT * FROM DemoTable WHERE NOW() BETWEEN FirstDate AND SecondDate;
আউটপুট:
+-----------------------+-----------------------+ | FirstDate | SecondDate | +-----------------------+-----------------------+ | 2019-05-28 00:00:00 | 2019-06-04 00:00:00 | +-----------------------+-----------------------+
ব্যাখ্যা: BETWEEN ইনক্লूसিভ (সীমা অন্তর্ভুক্ত)। NOW() বর্তমান ডেট-টাইম রিটার্ন করে। যদি কলামটি DATE টাইপ হয়, তবে CURDATE() ব্যবহার করুন।
ব্যবহার ক্ষেত্র: সেশন ম্যানেজমেন্ট, প্রোমোশন ভ্যালিডিটি, সাবস্ক্রিপশন চেক, লগ ফিল্টার ইত্যাদি।