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

MySQL-এ UNIX_TIMESTAMP ফলাফলের জন্য ডেটা টাইপ: INTEGER

MySQL-এ UNIX_TIMESTAMP() ফাংশনের রিটার্ন টাইপ হলো সাইনড ইন্টিজার (সাধারণত INT(11) বা BIGINT ভেরিয়েন্ট অনুযায়ী)। তাই ইউনিক্স টাইমস্ট্যাম্প সংরক্ষণের জন্য INT বা BIGINT ডেটা টাইপ ব্যবহার করুন।

কারণ

  • ইন্টিজার রেঞ্জ (-2147483648 থেকে 2147483647) ১৯৭০-২০৩৮ পর্যন্ত কভার করে (Y2K38 সমস্যা রয়েছে)।
  • BIGINT (8 বাইট) ব্যবহার করলে ২৯২ বৎসর পর্যন্ত কভারেজ পাওয়া যায়।
  • ইন্টিজার কন্ডিশন চেক (>, <=) ও ইন্ডেক্সিং খুব দ্রুত।

উদাহরণ: DATETIME → UNIX_TIMESTAMP

CREATE TABLE `UnixTime` (`DueTime` DATETIME);
INSERT INTO `UnixTime` VALUES (NOW()), ('2010-10-14'), ('2020-09-24');

SELECT `DueTime`, UNIX_TIMESTAMP(`DueTime`) AS `UnixTS` FROM `UnixTime`;

ফলাফল:

+---------------------+------------+
| DueTime             | UnixTS     |
+---------------------+------------+
| 2018-12-19 10:07:11 | 1545194231 |
| 2010-10-14 00:00:00 | 1286994600 |
| 2020-09-24 00:00:00 | 1600885800 |
+---------------------+------------+

সুপারিশ: নতুন প্রজেক্টে BIGINT কলামে UNIX_TIMESTAMP সংরক্ষণ করুন যাতে ২০৩৮ সালের পরে সমস্যা না হয়।

  1. Java JDBC-এ MySQL COUNT কোয়েরির রিটার্ন টাইপ কী?

  2. MySQL কোয়েরিতে স্ল্যাশ (/) এর অর্থ — ভাগ করা

  3. MySQL ডেটাবেসের জন্য সঠিক DATETIME ফরম্যাট কী?

  4. MySQL-র মূল ফিচারগুলো