শেষ ক্যারেক্টার নির্দিষ্ট হলে মুছে ফেলতে SUBSTRING() (বা SUBSTR()) ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (SubjectName VARCHAR(100));
রেকর্ড যোগ করি (কিছুর শেষে '?' আছে):
mysql> INSERT INTO DemoTable VALUES('MySQL');
mysql> INSERT INTO DemoTable VALUES('MongoDB?');
mysql> INSERT INTO DemoTable VALUES('Java?');
mysql> INSERT INTO DemoTable VALUES('C');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-------------+ | SubjectName | +-------------+ | MySQL | | MongoDB? | | Java? | | C | +-------------+
শেষে '?' থাকলে সেটি মুছে ফেলার কোয়েরি:
mysql> UPDATE DemoTable SET SubjectName = SUBSTRING(SubjectName, 1, CHAR_LENGTH(SubjectName) - 1) WHERE SubjectName LIKE '%?';
আউটপুট (আপডেটের পর):
+-------------+ | SubjectName | +-------------+ | MySQL | | MongoDB | | Java | | C | +-------------+
ব্যাখ্যা:
SUBSTRING(str, 1, len-1): ১ নম্বর পজিশন থেকে (len-1) ক্যারেক্টার নেয়, অর্থাৎ শেষ ক্যারেক্টার বাদ দেয়।CHAR_LENGTH(SubjectName) - 1: মোট দৈর্ঘ্য মাইনাস ১।WHERE SubjectName LIKE '%?': শুধু যাদের শেষে '?' আছে তাদেরই আপডেট করে।
বিকল্প: TRIM(TRAILING '?' FROM SubjectName) ব্যবহার করলেও একই কাজ হবে এবং আরও পঠনীয়।