MySQL-এ একটি DATETIME বা স্ট্রিং ফরম্যাটে থাকা তারিখ-সময় থেকে শুধু তারিখ (DATE) অংশ বের করতে DATE_FORMAT() এবং STR_TO_DATE() ফাংশন একসাথে ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট (স্ট্রিং ফরম্যাটে)
mysql> CREATE TABLE DemoTable (ShippingDate VARCHAR(200));
mysql> INSERT INTO DemoTable VALUES('04:58 PM 10/31/2018');
mysql> INSERT INTO DemoTable VALUES('02:30 AM 01/01/2019');
mysql> INSERT INTO DemoTable VALUES('12:01 AM 05/03/2019');
সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
+---------------------+
| ShippingDate |
+---------------------+
| 04:58 PM 10/31/2018 |
| 02:30 AM 01/01/2019 |
| 12:01 AM 05/03/2019 |
+---------------------+
শুধু তারিখ অংশ বের করা (MM/DD/YYYY ফরম্যাটে)
mysql> SELECT DATE_FORMAT(
-> STR_TO_DATE(ShippingDate, '%h:%i %p %m/%d/%Y'),
-> '%m/%d/%Y'
-> ) FROM DemoTable;
ফলাফল
+-------------------------------------------------------------------------+
| DATE_FORMAT(STR_TO_DATE(ShippingDate, '%h:%i %p %m/%d/%Y'), '%m/%d/%Y') |
+-------------------------------------------------------------------------+
| 10/31/2018 |
| 01/01/2019 |
| 05/03/2019 |
+-------------------------------------------------------------------------+
ব্যাখ্যা:
STR_TO_DATE(ShippingDate, '%h:%i %p %m/%d/%Y')- স্ট্রিংকে DATETIME-এ রূপান্তরDATE_FORMAT(..., '%m/%d/%Y')- DATETIME কে শুধু ডেট ফরম্যাটে রূপান্তর
সরল পদ্ধতি (যদি কলাম DATETIME টাইপের হয়)
-- যদি ShippingDate DATETIME টাইপের হয়:
SELECT DATE(ShippingDate) FROM DemoTable;
-- অথবা
SELECT DATE_FORMAT(ShippingDate, '%Y-%m-%d') FROM DemoTable;
ফরম্যাট স্পেসিফায়ার রেফারেন্স:
%h- ঘন্টা (১২-আওয়ার, ০১-১২)%i- মিনিট (০০-৫৯)%p- AM/PM%m- মাস (০১-১২)%d- দিন (০১-৩১)%Y- বছর (৪ অঙ্ক)