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

MySQL-এ CAST AS DATE এবং DATE() ফাংশনের পার্থক্য

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)
নিষ্কর্ষ: দুটি ফাংশনই একই ফলাফল দেয়। পছন্দমত যেকোনো একটি ব্যবহার করুন।
  1. MySQL-এ UK ডেট ফরম্যাট (DD/MM/YYYY) কে স্ট্যান্ডার্ড ডেটে রূপান্তর

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

  3. MySQL-এ DATE_ADD ব্যবহার করে বর্তমান তারিখে ১১ দিন যোগ করা

  4. MySQL-এ STR_TO_DATE() ব্যবহার করে ডেট ফরম্যাট কনভার্ট করা