MySQL-এ SUBSTR() (অথবা SUBSTRING()) ফাংশন ব্যবহার করে কলাম থেকে নির্দিষ্ট পজিশনের সাবস্ট্রিং বের করা যায়। ফাইল পাথ থেকে ডিরেক্টরি বা ফাইল নাম আলাদা করার জন্য এটি খুব কাজে আসে।
সিনট্যাক্স
SELECT SUBSTR(yourColumnName, startIndex, length) FROM yourTableName; SELECT SUBSTR(yourColumnName, startIndex) FROM yourTableName; -- শেষ পর্যন্ত
টেবিল ও ডেটা
mysql> CREATE TABLE demo11 (
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> fileLocation TEXT
-> );
Query OK, 0 rows affected (2.60 sec)
mysql> INSERT INTO demo11 (fileLocation) VALUES
('E:/users/program/sample.sql'),
('E:/users/data/db.sql'),
('C:/users/data/sample2.sql');
mysql> SELECT * FROM demo11; +----+-----------------------------+ | id | fileLocation | +----+-----------------------------+ | 1 | E:/users/program/sample.sql | | 2 | E:/users/data/db.sql | | 3 | C:/users/data/sample2.sql | +----+-----------------------------+
পার্ট ১: প্রথম ১৫ ক্যারেক্টার (লিমিট ১,২ = ২য় ও ৩য় রো)
mysql> SELECT SUBSTR(fileLocation, 1, 15) FROM demo11 LIMIT 1,2; +---------------------------+ | substr(fileLocation,1,15) | +---------------------------+ | E:/users/data/d | | C:/users/data/s | +---------------------------+
পার্ট ২: ১৬ নম্বর পজিশন থেকে শেষ পর্যন্ত
mysql> SELECT SUBSTR(fileLocation, 16) FROM demo11 LIMIT 1,2; +-------------------------+ | substr(fileLocation,16) | +-------------------------+ | b.sql | | ample2.sql | +-------------------------+
নোট: MySQL-এ স্ট্রিং ইন্ডেক্স ১-বেসড। LIMIT offset, count এখানে অপশন ১,২ মানে ২য় রো থেকে ২টি রো।