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

MySQL-এ একটি ডেটের শেষ সেকেন্ড বের করা (INTERVAL অ্যারিথমেটিক)

MySQL-এ একটি ডেট/ডেটাইমের 그날ের শেষ সেকেন্ড (২৩:৫৯:৫৯) বের করতে DATE() ফাংশন এবং INTERVAL অ্যারিথমেটিক ব্যবহার করা হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    JoiningDatetime DATETIME,
    DueDatetime DATETIME
);

INSERT INTO DemoTable(JoiningDatetime) VALUES('2019-11-03 12:34:54');
INSERT INTO DemoTable(JoiningDatetime) VALUES('2019-10-04 12:34:54');

আপডেট কুয়েরি: DueDatetime = 그날 ২৩:৫৯:৫৯

UPDATE DemoTable 
SET DueDatetime = DATE(JoiningDatetime) + INTERVAL 1 DAY - INTERVAL 1 SECOND;

ফলাফল

+---------------------+---------------------+
| JoiningDatetime     | DueDatetime         |
+---------------------+---------------------+
| 2019-11-03 12:34:54 | 2019-11-03 23:59:59 |
| 2019-10-04 12:34:54 | 2019-10-04 23:59:59 |
+---------------------+---------------------+

লজিক ব্যাখ্যা

  1. DATE(JoiningDatetime) — শুধু ডেট পার্ট: '2019-11-03' (মিডনাইট ০০:০০:০০)
  2. + INTERVAL 1 DAY — পরের দিনের মিডনাইট: '2019-11-04 00:00:00'
  3. - INTERVAL 1 SECOND — ১ সেকেন্ড কমিয়ে: '2019-11-03 23:59:59'

বিকল্প: LAST_DAY (মাসের শেষ দিন)

-- মাসের শেষ দিনের ২৩:৫৯:৫৯
LAST_DAY(JoiningDatetime) + INTERVAL 23 HOUR + INTERVAL 59 MINUTE + INTERVAL 59 SECOND

MySQL 8.0+: টাইমজোন সতর্কতা

TIMESTAMP টাইপে টাইমজোন কনভারশন হয়, DATETIME-এ হয় না। একই টাইমজোন নিশ্চিত করুন।

  1. MySQL-এ LAST_DAY() ফাংশন ব্যবহার করে মাসের শেষ দিন বের করা

  2. MySQL-এ UK ডেট ফরম্যাট (DD/MM/YYYY) কে স্ট্যান্ডার্ড ডেটে রূপান্তর

  3. MySQL-এ VARCHAR ডেট টাইপের তালিকা থেকে সর্বোচ্চ তারিখ বের করা

  4. MySQL-এ DATE_FORMAT() দিয়ে DATETIME থেকে শুধু তারিখ (DD.MM.YYYY) বের করা