LEFT, CHAR_LENGTH, SUBSTRING_INDEX से डायरेक्टरी पथ निकालना
फाइल पथ स्ट्रिंग से फाइल नाम को छोड़कर डायरेक्टरी पथ प्राप्त करने के लिए LEFT(), CHAR_LENGTH(), और SUBSTRING_INDEX() का संयोजन उपयोग करें।
उदाहरण फाइल पथ
/MyFile/JavaProgram/Hello.java
वांछित परिणाम: /MyFile/JavaProgram/
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
FileLocation TEXT
);
Query OK, 0 rows affected (0.57 sec)
mysql> INSERT INTO DemoTable VALUES('/MyFile/JavaProgram/Hello.java');
Query OK, 1 row affected (0.27 sec)
mysql> INSERT INTO DemoTable VALUES('/C/AllPrograms/animation.gif');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable VALUES('/E/FavFile/ChatProgram.java');
Query OK, 1 row affected (0.18 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+--------------------------------+ | FileLocation | +--------------------------------+ | /MyFile/JavaProgram/Hello.java | | /C/AllPrograms/animation.gif | | /E/FavFile/ChatProgram.java | +--------------------------------+ 3 rows in set (0.00 sec)
डायरेक्टरी पथ निकालने की क्वेरी
mysql> SELECT LEFT(FileLocation,
CHAR_LENGTH(FileLocation) - CHAR_LENGTH(SUBSTRING_INDEX(FileLocation, '/', -1)))
FROM DemoTable;
परिणाम:
+------------------------------------------------------------------------------------------------+ | left(FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) | +------------------------------------------------------------------------------------------------+ | /MyFile/JavaProgram/ | | /C/AllPrograms/ | | /E/FavFile/ | +------------------------------------------------------------------------------------------------+ 3 rows in set (0.00 sec)
चरण-दर-चरण:
SUBSTRING_INDEX(FileLocation, '/', -1)→ अंतिम '/' के बाद का भाग (फाइल नाम)CHAR_LENGTH(...)→ फाइल नाम की लंबाईCHAR_LENGTH(FileLocation) - ...→ डायरेक्टरी पथ की लंबाईLEFT(FileLocation, ...)→ उतने अक्षर बाएं से लें
सरल विकल्प: SUBSTRING_INDEX(FileLocation, '/', LENGTH(FileLocation) - LENGTH(REPLACE(FileLocation, '/', ''))) या एप्लिकेशन लेयर पर प्रोसेसिंग।