UNIX_TIMESTAMP() ফাংশন দেওয়া তারিখ/ডেটাটাইম থেকে সেকেন্ডের সংখ্যা রিটার্ন করে। কিন্তু TIMESTAMP ডেটা টাইপের রেঞ্জ 1970-01-01 00:00:01 থেকে 2038-01-19 08:44:07। তাই ১৯৭০-এর আগের তারিখ (যেমন 1965-05-15) এই রেঞ্জের বাইরে পড়ে, ফলে MySQL 0 রিটার্ন করে।
উদাহরণ
mysql> SELECT UNIX_TIMESTAMP('1965-05-15');
+----------------------------------------------+
| UNIX_TIMESTAMP('1965-05-15 05:04:30') |
+----------------------------------------------+
| 0 |
+----------------------------------------------+
mysql> SELECT UNIX_TIMESTAMP('1970-05-15 05:04:30');
+----------------------------------------------+
| UNIX_TIMESTAMP('1970-05-15 05:04:30') |
+----------------------------------------------+
| 11576070 |
+----------------------------------------------+
সমাধান
- ১৯৭০-এর আগের তারিখের জন্য
DATETIMEটাইপ ব্যবহার করুন (রেঞ্জ: ১০০০-৯৯৯৯)। - ঐতিহাসিক ডেটা হ্যান্ডল করার সময়
DATETIMEবা স্ট্রিং ফরম্যাট ব্যবহার করুন।