MySQL-এ ফাইল নাম স্ট্রিং থেকে এক্সটেনশন (শেষের ডটের পরের অংশ) বের করতে SUBSTRING_INDEX() ফাংশন ব্যবহার করা হয়।
সিনট্যাক্স
SELECT SUBSTRING_INDEX(yourColumnName, '.', -1) AS anyAliasName FROM yourTableName;
উদাহরণ
টেবিল তৈরি:
mysql> CREATE TABLE AllFiles (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserName VARCHAR(10),
-> FileName VARCHAR(100)
-> );
ডেটা ইনসার্ট:
mysql> INSERT INTO AllFiles(UserName, FileName) VALUES('Larry', 'AddTwoNumber.java');
mysql> INSERT INTO AllFiles(UserName, FileName) VALUES('Mike', 'AddTwoNumber.python');
mysql> INSERT INTO AllFiles(UserName, FileName) VALUES('Sam', 'MatrixMultiplication.c');
mysql> INSERT INTO AllFiles(UserName, FileName) VALUES('Carol', 'vector.cpp');
সকল রেকর্ড:
mysql> SELECT * FROM AllFiles;
+----+----------+------------------------+ | Id | UserName | FileName | +----+----------+------------------------+ | 1 | Larry | AddTwoNumber.java | | 2 | Mike | AddTwoNumber.python | | 3 | Sam | MatrixMultiplication.c | | 4 | Carol | vector.cpp | +----+----------+------------------------+
এক্সটেনশন বের করা:
mysql> SELECT SUBSTRING_INDEX(FileName, '.', -1) AS ALLFILENAMEEXTENSIONS FROM AllFiles;
+-----------------------+ | ALLFILENAMEEXTENSIONS | +-----------------------+ | java | | python | | c | | cpp | +-----------------------+
ব্যাখ্যা: SUBSTRING_INDEX(str, delim, count)-এ count নেগেটিভ হলে ডেলিমিটার-এর ডানপাশের অংশ রিটার্ন করে। -1 মানে শেষ ডেলিমিটার-এর পরের অংশ। ফাইলে একাধিক ডট থাকলে (যেমন file.min.js) শুধু js পাওয়া যাবে।