MySQL में फ़ाइल पथ से फ़ाइल नाम निकालने (PHP के basename() के समान) के लिए SUBSTRING_INDEX() फ़ंक्शन का उपयोग किया जाता है। यह डिलीमीटर के आधार पर स्ट्रिंग को विभाजित करता है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Location VARCHAR(200)
);
फ़ाइल पथ डालना
mysql> INSERT INTO DemoTable VALUES('C:\\Web\\Sum.java'), ('E:\\WebDevelopment\\Image1.png');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------------------------------+ | Location | +------------------------------+ | C:\Web\Sum.java | | E:\WebDevelopment\Image1.png | +------------------------------+
फ़ाइल नाम निकालने की क्वेरी
बैकस्लैश डिलीमीटर का उपयोग करके अंतिम भाग प्राप्त करना:
mysql> SELECT Location, SUBSTRING_INDEX(Location, '\\', -1) AS NameOfFile FROM DemoTable;
आउटपुट
+------------------------------+------------+ | Location | NameOfFile | +------------------------------+------------+ | C:\Web\Sum.java | Sum.java | | E:\WebDevelopment\Image1.png | Image1.png | +------------------------------+------------+
व्याख्या: SUBSTRING_INDEX(str, delim, count) में ऋणात्मक count अंत से गिनती करता है। -1 का अर्थ है अंतिम डिलीमीटर के बाद का भाग। फॉरवर्ड स्लैश (/) पथ के लिए '/' डिलीमीटर का उपयोग करें।