MySQL-এ CAST(... AS DATE) এবং DATE() ফাংশন দুইটিই ডেটাটাইম থেকে শুধু ডেট অংশ বের করে। দুটির কোনো ফাংশনাল পার্থক্য নেই—ভিতরেই একই কোড কল করে।
সিনট্যাক্স
CAST(yourDateTimeColumnName AS DATE) DATE(yourDateTimeColumnName)
উদাহরণ
টেবিল তৈরি করি:
mysql> create table CastAsDateDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> ArrivalTime datetime,
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.71 sec)
রেকর্ড যোগ করি:
mysql> insert into CastAsDateDemo(ArrivalTime) values('2014-1-13 13:45:46');
mysql> insert into CastAsDateDemo(ArrivalTime) values('2016-4-11 10:30:31');
mysql> insert into CastAsDateDemo(ArrivalTime) values('2019-1-9 19:17:49');
mysql> insert into CastAsDateDemo(ArrivalTime) values(date_add(now(), interval 2 day));
সকল রেকর্ড
mysql> select *from CastAsDateDemo;
আউটপুট
+----+---------------------+ | Id | ArrivalTime | +----+---------------------+ | 1 | 2014-01-13 13:45:46 | | 2 | 2016-04-11 10:30:31 | | 3 | 2019-01-09 19:17:49 | | 4 | 2019-01-11 19:17:59 | +----+---------------------+ 4 rows in set (0.00 sec)
CAST() ব্যবহার
mysql> select cast(ArrivalTime as Date) as only_Date from CastAsDateDemo;
আউটপুট
+------------+ | only_Date | +------------+ | 2014-01-13 | | 2016-04-11 | | 2019-01-09 | | 2019-01-11 | +------------+ 4 rows in set (0.00 sec)
DATE() ব্যবহার
mysql> select date(ArrivalTime) as only_Date from CastAsDateDemo;
আউটপুট
+------------+ | only_Date | +------------+ | 2014-01-13 | | 2016-04-11 | | 2019-01-09 | | 2019-01-11 | +------------+ 4 rows in set (0.00 sec)
নিষ্কর্ষ: দুটি ফাংশনই একই ফলাফল দেয়। পছন্দমত যেকোনো একটি ব্যবহার করুন।