MySQL-এ TIMESTAMP কলামে '০০০০-০০-০০' (শূন্য তারিখ) থাকে কিনা যাচাই করতে WHERE DueDate > 0 ব্যবহার করা যায়, কারণ শূন্য টাইমস্ট্যাম্পই ০ আচরণ করে।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable855(DueDate timestamp); Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable855 values('2019-08-07');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable855 values('0000-00-00');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable855 values('2019-07-06');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable855 values('2016-04-10');
Query OK, 1 row affected (0.16 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable855;
+----------------------+ | DueDate | +----------------------+ | 2019-08-07 00:00:00 | | 0000-00-00 00:00:00 | | 2019-07-06 00:00:00 | | 2016-04-10 00:00:00 | +----------------------+ 4 rows in set (0.00 sec)
সেট করা টাইমস্ট্যাম্পवाले রেকর্ড বের করা (DueDate > 0)
mysql> select * from DemoTable855 where DueDate > 0;
+----------------------+ | DueDate | +----------------------+ | 2019-08-07 00:00:00 | | 2019-07-06 00:00:00 | | 2016-04-10 00:00:00 | +----------------------+ 3 rows in set (0.03 sec)
ব্যাখ্যা
TIMESTAMPকলামে '0000-00-00 00:00:00' = শূন্য মান (Zero timestamp)- MySQL-এ শূন্য টাইমস্ট্যাম্প সংখ্যামূলক ০ হিসেবে আচরণ করে
DueDate > 0- শূন্য নয় এমন (সেট করা) টাইমস্ট্যাম্প ফিল্টার করেDueDate = 0বাDueDate <= 0- শূন্য টাইমস্ট্যাম্প ফিল্টার করে
বিকল্প পদ্ধতি
| পদ্ধতি | কোয়েরি | দ্রষ্টব্য |
|---|---|---|
| IS NOT NULL | WHERE DueDate IS NOT NULL | NULL চেক (শূন্য টাইমস্ট্যাম্প NULL নয়) |
| != '0000-00-00' | WHERE DueDate != '0000-00-00' | স্ট্রিং তুলনা |
| > 0 | WHERE DueDate > 0 | সংখ্যাতুলনা, দ্রুত |
| YEAR() > 0 | WHERE YEAR(DueDate) > 0 | বহুত স্পষ্ট |