নেগেটিভ স্ট্রাট পজিশন দিয়ে শেষ N ক্যারেক্টার রেখে বাকি মুছে ফেলা
MySQL-এ SUBSTR(str, -N, N) বা SUBSTRING(str FROM -N FOR N) ব্যবহার করে স্ট্রিংয়ের শেষ থেকে N ক্যারেক্টার রেখে বাকি মুছে ফেলা যায়। এখানে UPDATE দিয়ে টেবিলে সরাসরি পরিবর্তন করা হয়েছে।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (Strength TEXT);
mysql> INSERT INTO DemoTable VALUES('John is a good programmer'), ('Chris is a good player in cricket'), ('Bob is good in algorithm');
আপডেটের আগে
+-----------------------------------+ | Strength | +-----------------------------------+ | John is a good programmer | | Chris is a good player in cricket | | Bob is good in algorithm | +-----------------------------------+
শেষ ৭ ক্যারেক্টার রেখে আপডেট
mysql> UPDATE DemoTable SET Strength = SUBSTR(Strength, -7, 7); Query OK, 3 rows affected (0.46 sec)
আপডেটের পর
+----------+ | Strength | +----------+ | grammer | | cricket | | gorithm | +----------+
ব্যাখ্যা
SUBSTR(Strength, -7, 7)— শেষ থেকে ৭ ক্যারেক্টার নেয় (নেগেটিভ স্টার্ট = শেষ থেকে গণনা)।- "programmer" → "grammer" (শেষ ৭: g-r-a-m-m-e-r)
- "cricket" → "cricket" (৭ ক্যারেক্টার, পুরো থাকে)
- "algorithm" → "gorithm" → কিন্তু আউটপুট "gorith m"? মূল আর্টিকেলে "gorithm" দেখানো হয়েছে, সম্ভবত টাইপো।
সতর্কতা
- UPDATE স্টেটমেন্ট ডেটা পরমানেন্টলি মুছে ফেলে — আগে BACKUP নিন।
- SELECT-এ দেখাতে চাইলে:
SELECT SUBSTR(Strength, -7) FROM DemoTable;(length অপশনাল)।