Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql Regex, aby zastąpić 0 z ipv4

Korzystając z funkcji MySQL INET_ATON() i INET_NTOA() możesz niezawodnie przekonwertować przychodzący adres IPv4, który ma wiodące zera na ten sam ciąg bez wiodących zer. Zawijaj INET_ATON() z INET_NTOA() aby przekonwertować adres IP najpierw na wartość całkowitą, a następnie z powrotem na kropkowaną czwórkę.

IP z wiodącymi zerami w różnych miejscach:

mysql> SELECT INET_NTOA(INET_ATON('001.110.011.111'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('001.110.011.111')) |
+-----------------------------------------+
| 1.110.11.111                            |
+-----------------------------------------+

I bez wiodących zer dla porównania:

mysql> SELECT INET_NTOA(INET_ATON('1.110.11.111'));
+--------------------------------------+
| INET_NTOA(INET_ATON('1.110.11.111')) |
+--------------------------------------+
| 1.110.11.111                         |
+--------------------------------------+

Uwaga: To zwróci NULL jeśli wprowadzony adres IP nie był prawidłowym adresem. Nie zwróci oryginalnego ciągu znaków ani nie usunie wiodących zer ze złego adresu IP:

Wadliwy adres IP z wiodącymi zerami:

mysql> SELECT INET_NTOA(INET_ATON('888.777.123.123'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('888.007.123.123')) |
+-----------------------------------------+
| NULL                                    |
+-----------------------------------------+



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernacja optymistycznego blokowania..jak to działa?

  2. Jak mogę wstawić duże pliki do bazy danych MySQL za pomocą PHP?

  3. Jaki jest najlepszy algorytm wyszukiwania dla PHP i MYSQL?

  4. Oszczędzasz HABTM z dodatkowymi polami?

  5. Zapytanie mysql do dynamicznej konwersji danych wierszy na kolumny