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

MySQL-এ SUBSTRING_INDEX ব্যবহার করে স্ল্যাশের আগের অংশ রাখা

MySQL-এ স্ট্রিংয়ের নির্দিষ্ট ডিলিমিটার (যেমন স্ল্যাশ /) এর আগের অংশটি রেখে বাকি মুছে ফেলতে SUBSTRING_INDEX() ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

UPDATE yourTableName SET yourColumnName = SUBSTRING_INDEX(yourColumnName, 'delimiter', 1);

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo69 (name VARCHAR(40));

INSERT INTO demo69 VALUES ('John/Smith'), ('David/Miller'), ('Chris/Brown'), ('Carol/Taylor');

টেবিলের ডেটা:

+--------------+
| name         |
+--------------+
| John/Smith   |
| David/Miller |
| Chris/Brown  |
| Carol/Taylor |
+--------------+

আপডেট কোয়েরি

UPDATE demo69 SET name = SUBSTRING_INDEX(name, '/', 1);

আপডেটের পর ডেটা

+-------+
| name  |
+-------+
| John  |
| David |
| Chris |
| Carol |
+-------+

ব্যাখ্যা:

  • SUBSTRING_INDEX(str, delim, count): str-এ delim খুঁজে count নম্বর ডিলিমিটারের আগের সাবস্ট্রিং রিটার্ন করে।
  • count = 1 -> প্রথম ডিলিমিটারের আগের অংশ (স্ল্যাশের বামপাশ)।
  • count = -1 -> শেষ ডিলিমিটারের পরের অংশ (স্ল্যাশের ডানপাশ) -> 'Smith', 'Miller' ইত্যাদি।
  • count = 2 -> দ্বিতীয় ডিলিমিটারের আগের অংশ।

নোট: এটি সমস্ত রো আপডেট করে। WHERE ক্লজ যোগ করে নির্দিষ্ট রো আপডেট করা যায়।

  1. MySQL-এ নির্দিষ্ট ভ্যালু প্রথমে দেখিয়ে বাকি অর্ডার করানো (ORDER BY ট্রিক)

  2. MySQL에서 GROUP_CONCAT으로 전체 컬럼 값을 콤마 구분 단일 행으로 합치기

  3. MySQL-এ GROUP BY HAVING ব্যবহার করে ডুপ্লিকেট কলাম মান বের করা

  4. MySQL-এ নির্দিষ্ট মান ثابت রেখে বাকি সারি র‍্যান্ডমভাবে সর্ট করা