SELECT এবং ORDER BY ব্যবহার করে DD/MM/YYYY ফরম্যাটে তারিখ প্রদর্শন করা এবং ডিসেন্ডিং অর্ডারে সাজানোর সিনট্যাক্স নিচে দেওয়া হলো:
SELECT * FROM yourTableName WHERE yourDatetimeColumnName ORDER BY STR_TO_DATE(yourDatetimeColumnName, '%d/%m/%Y') DESC;
উপরের সিনট্যাক্সটি ডেটাকে ডিসেন্ডিং অর্ডারে সাজাবে। এটি বুঝতে হলে প্রথমে একটি টেবিল তৈরি করি। টেবিল তৈরির ক্যোয়ারি:
mysql> CREATE TABLE DateFormatWithSelect (
-> UserId INT,
-> UserName VARCHAR(100),
-> UserLoginDatetime VARCHAR(100)
-> ); Query OK, 0 rows affected (0.58 sec)
ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করি:
mysql> INSERT INTO DateFormatWithSelect VALUES(101,'John','20/10/2016'); Query OK, 1 row affected (0.11 sec) mysql> INSERT INTO DateFormatWithSelect VALUES(102,'David','21/09/2015'); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO DateFormatWithSelect VALUES(103,'Carol','21/12/2018'); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DateFormatWithSelect VALUES(104,'Mike','2/8/2014'); Query OK, 1 row affected (0.16 sec) mysql> INSERT INTO DateFormatWithSelect VALUES(105,'Sam','21/11/2017'); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DateFormatWithSelect VALUES(106,'Bob','21/12/2013'); Query OK, 1 row affected (0.18 sec)
সিলেক্ট কমান্ড ব্যবহার করে টেবিলের সব রেকর্ড দেখি:
mysql> SELECT * FROM DateFormatWithSelect;
আউটপুট:
+--------+----------+-------------------+ | UserId | UserName | UserLoginDatetime | +--------+----------+-------------------+ | 101 | John | 20/10/2016 | | 102 | David | 21/09/2015 | | 103 | Carol | 21/12/2018 | | 104 | Mike | 2/8/2014 | | 105 | Sam | 21/11/2017 | | 106 | Bob | 21/12/2013 | +--------+----------+-------------------+ 6 rows in set (0.00 sec)
DD/MM/YYYY ফরম্যাটে ডেটা ফরম্যাট করে সিলেক্ট করার ক্যোয়ারি:
mysql> SELECT * FROM DateFormatWithSelect
-> WHERE UserLoginDatetime ORDER BY STR_TO_DATE(UserLoginDatetime, '%d/%m/%Y') DESC;
আউটপুট
+--------+----------+-------------------+ | UserId | UserName | UserLoginDatetime | +--------+----------+-------------------+ | 103 | Carol | 21/12/2018 | | 105 | Sam | 21/11/2017 | | 101 | John | 20/10/2016 | | 102 | David | 21/09/2015 | | 104 | Mike | 2/8/2014 | | 106 | Bob | 21/12/2013 | +--------+----------+-------------------+ 6 rows in set, 6 warnings (0.00 sec)