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

MySQL-এ UPDATE এবং SECOND() ফাংশন ব্যবহার করে DATETIME থেকে সেকেন্ড সরিয়ে ফেলা

DATETIME কলাম থেকে সেকেন্ড সরিয়ে ফেলতে (০০ সেট করতে) UPDATE এবং SECOND() ফাংশন ব্যবহার করুন। সিনট্যাক্স:

UPDATE yourTableName SET yourDateColumnName = yourDateColumnName - SECOND(yourDateColumnName);

প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (Shippingdatetime DATETIME);

রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable VALUES('2019-01-21 12:05:20');
mysql> INSERT INTO DemoTable VALUES('2019-03-01 10:23:35');
mysql> INSERT INTO DemoTable VALUES('2019-06-09 11:00:56');

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+---------------------+
| Shippingdatetime    |
+---------------------+
| 2019-01-21 12:05:20 |
| 2019-03-01 10:23:35 |
| 2019-06-09 11:00:56 |
+---------------------+

সেকেন্ড সরিয়ে ফেলার কোয়েরি (সেকেন্ড ০০ সেট করা):

mysql> UPDATE DemoTable SET Shippingdatetime = Shippingdatetime - SECOND(Shippingdatetime);
Query OK, 3 rows affected (0.15 sec)

আপডেট হওয়া টেবিল চেক করুন:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+---------------------+
| Shippingdatetime    |
+---------------------+
| 2019-01-21 12:05:00 |
| 2019-03-01 10:23:00 |
| 2019-06-09 11:00:00 |
+---------------------+

ব্যাখ্যা: SECOND(datetime) সেকেন্ড অংশ বের করে (২০, ৩৫, ৫৬)। datetime - seconds মানে সেকেন্ড ইন্টারভ্যাল বিয়োগ করা, ফলে সেকেন্ড ০০ হয়ে যায়। মিনিট এবং ঘণ্টা অপরিবর্তিত থাকে।

বিকল্প পদ্ধতি (MySQL 8.0+): UPDATE DemoTable SET Shippingdatetime = DATE_FORMAT(Shippingdatetime, '%Y-%m-%d %H:%i:00'); — আরও স্পষ্ট এবং নিরাপদ।

  1. MySQL টেবিল থেকে প্রাইমারি কি حذف করা (DROP PRIMARY KEY)

  2. MySQL-এ TRIM() + SUBSTRING() + REVERSE() দিয়ে প্যারেনথেসিসহ ট্রেইলিং সংখ্যা সরানো

  3. MySQL-এ DATE_FORMAT() দিয়ে DATETIME থেকে শুধু তারিখ (DD.MM.YYYY) বের করা

  4. MySQL টেবিল থেকে ইন্ডেক্স সরানো