Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एसक्यूएल:बाइनरी टू आईपी एड्रेस

mysql> select inet_ntoa(conv('4333d26e', 16, 10));
+-------------------------------------+
| inet_ntoa(conv('4333d26e', 16, 10)) |
+-------------------------------------+
| 67.51.210.110                       |
+-------------------------------------+
1 row in set (0.00 sec)

जांचें कि क्या यह वहां भी काम करता है =)

संपादित करें

समस्या यह है कि inet_ntoa दशमलव . से पार्स करने लगता है strings संख्या प्रतिनिधित्व, हेक्साडेसिमल वाले नहीं, या हेक्साडेसिमल integers . से . तुलना करें:

mysql> select inet_ntoa(0x4333d26e);
+-----------------------+
| inet_ntoa(0x4333d26e) |
+-----------------------+
| 67.51.210.110         |
+-----------------------+
1 row in set (0.02 sec)

mysql> select inet_ntoa('0x4333d26e');
+-------------------------+
| inet_ntoa('0x4333d26e') |
+-------------------------+
| 0.0.0.0                 |
+-------------------------+
1 row in set, 1 warning (0.00 sec)

संपादित करें

यह आसान है और काम करने लगता है:

SELECT INET_NTOA(CONV(ip_bin, 2, 10)) FROM log_metadata


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NULLs के साथ अद्वितीय कुंजी

  2. लारवेल - क्वेरी मॉडल यदि मानों में एक निश्चित स्ट्रिंग है (खोज इनपुट से लिया गया)

  3. रीसेट स्थिति के साथ संचयी योग की MySQL गणना

  4. मैसकल क्वेरी परिणाम को एक वर्ग के अंदर सरणी में रखें

  5. SQL क्वेरी के प्रत्येक निष्पादन पर यादृच्छिक अद्वितीय रिकॉर्ड का चयन कैसे करें