जब SUBSTRING_INDEX() के तीसरे तर्क count में ऋणात्मक मान दिया जाता है, तो फंक्शन दाएं से गिनना शुरू करता है और अंतिम डिलीमिटर के दाएं का भाग लौटाता है।
उदाहरण
mysql> SELECT SUBSTRING_INDEX('www.google.com', '.', -2);
+------------------------------------------+
| SUBSTRING_INDEX('www.google.com', '.', -2) |
+------------------------------------------+
| google.com |
+------------------------------------------+
mysql> SELECT SUBSTRING_INDEX('www.google.com', '.', -1);
+------------------------------------------+
| SUBSTRING_INDEX('www.google.com', '.', -1) |
+------------------------------------------+
| com |
+------------------------------------------+
नियम सारांश
| count मान | दिशा | परिणाम |
|---|---|---|
| धनात्मक (n) | बाएं से दाएं | n-वें डिलीमिटर से पहले का भाग |
| ऋणात्मक (-n) | दाएं से बाएं | n-वें डिलीमिटर (दाएं से) के बाद का भाग |
| 0 | — | खाली स्ट्रिंग |
व्यावहारिक उपयोग
count = -1: अंतिम डिलीमिटर के बाद का भाग (जैसे फाइल एक्सटेंशन, TLD)count = -2: अंतिम दो भाग (जैसे डोमेन + TLD)- IP एड्रेस का अंतिम ऑक्टेट:
SUBSTRING_INDEX(ip, '.', -1)