Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL SUBSTRING_INDEX() से IP एड्रेस को चार ऑक्टेट्स में विभाजित करें

IP एड्रेस (डॉट-सेपरेटेड) को SUBSTRING_INDEX() के नेस्टेड उपयोग से चार ऑक्टेट्स में विभाजित किया जा सकता है।

नमूना डेटा: ipaddress टेबल

mysql> SELECT * FROM ipaddress;
+-----------------+
| ip              |
+-----------------+
| 192.128.0.5     |
| 255.255.255.255 |
| 192.0.255.255   |
| 192.0.1.5       |
+-----------------+

क्वेरी

mysql> SELECT 
    IP,
    SUBSTRING_INDEX(ip, '.', 1) AS '1st Part',
    SUBSTRING_INDEX(SUBSTRING_INDEX(ip, '.', 2), '.', -1) AS '2nd Part',
    SUBSTRING_INDEX(SUBSTRING_INDEX(ip, '.', -2), '.', 1) AS '3rd Part',
    SUBSTRING_INDEX(ip, '.', -1) AS '4th Part'
FROM ipaddress;

परिणाम

+-----------------+----------+----------+----------+----------+
| IP              | 1st Part | 2nd Part | 3rd Part | 4th Part |
+-----------------+----------+----------+----------+----------+
| 192.128.0.5     | 192      | 128      | 0        | 5        |
| 255.255.255.255 | 255      | 255      | 255      | 255      |
| 192.0.255.255   | 192      | 0        | 255      | 255      |
| 192.0.1.5       | 192      | 0        | 1        | 5        |
+-----------------+----------+----------+----------+----------+

तर्क व्याख्या

भागएक्सप्रेशनतर्क
1stSUBSTRING_INDEX(ip, '.', 1)पहले डॉट से पहले
2ndSUBSTRING_INDEX(SUBSTRING_INDEX(ip, '.', 2), '.', -1)दूसरे डॉट तक, फिर अंतिम डॉट के बाद
3rdSUBSTRING_INDEX(SUBSTRING_INDEX(ip, '.', -2), '.', 1)अंतिम से दूसरा डॉट तक, फिर पहले डॉट से पहले
4thSUBSTRING_INDEX(ip, '.', -1)अंतिम डॉट के बाद
नोट: MySQL 8.0+ में JSON_TABLE या रेगेक्स विकल्प भी हैं, लेकिन यह विधि सभी संस्करणों में काम करती है और तेज है।
  1. - PHP स्क्रिप्ट का उपयोग करके मौजूदा MySQL तालिका में डेटा कैसे सम्मिलित करें?

    हम जानते हैं कि PHP हमें मौजूदा MySQL तालिका में डेटा सम्मिलित करने के लिए mysql_query फ़ंक्शन प्रदान करता है। उदाहरण इसे समझाने के लिए हम PHP स्क्रिप्ट की सहायता से Tutorials_tbl नामक तालिका में डेटा सम्मिलित कर रहे हैं: <html> <head> <title>Add New Record in MySQL Dat

  1. - MySQL में COALESCE() से NULL को 0 में बदलें

    COALESCE() फ़ंक्शन से NULL मान बदलें COALESCE() फ़ंक्शन अपने तर्कों में पहला नॉन-NULL मान लौटाता है। NULL को 0 में बदलने के लिए दूसरा तर्क 0 दें। सिंटैक्स SELECT COALESCE(yourColumnName, 0) AS alias FROM yourTableName; उदाहरण: टेबल और डेटा mysql> create table convertNullToZeroDemo ( -> I

  1. - MySQL में SUBSTRING_INDEX से स्ट्रिंग विभाजित करना

    SUBSTRING_INDEX() से नाम विभाजित करना SUBSTRING_INDEX(str, delim, count) डिलीमीटर के आधार पर सबस्ट्रिंग निकालता है। धनात्मक count बाएँ से, ऋणात्मक दाएँ से गिनता है। तालिका और डेटा (Chris Brown), (David Miller), (John Doe); पहला और अंतिम नाम निकालना FROM DemoTable1465; परिणाम +----------------