Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    Ordinare dato numerico nel database

    ho un campo varchar 20 popolato da indirizzi IP.
    Quando faccio una query order by indirizzoIP li ordina nel seguente modo:

    192.168.1.10
    192.168.1.11
    ...
    192.168.1.19
    192.168.1.2
    192.168.1.20
    192.168.1.21
    192.168.1.29
    192.168.1.3
    192.168.1.30
    192.168.1.31
    ecc.....

    e non
    192.168.1.2
    192.168.1.3
    ...
    192.168.1.10
    192.168.1.11

    Come posso ordinarli meglio? oppure ditemi se conoscete un metodo migliore per averli ordinati nel modo "giusto". Tenete presente che il campo l'ho settato varchar perchè un indirizzo Ip può essere anche così: 192.168.1.* 192.168.*.* ecc.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non hai specificato il db. Supponendo stia usando mysql puoi usare la funzione inet_aton().


    select * from tabella order by inet_aton(ip).

    Tieni conto che gli indirizzi con gli asterischi verranno risolti in NULL con ciò che ne consegue in fase di ordinamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    si grazie! sto usando mysql

    Allora faccio come hai scritto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.