Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [MySql] Ordinamento varchar con numeri

    Salve a tutti!

    Domanda veloce : ho un campo varchar che contiene dei numeri, tipo

    7586,00
    652000,00
    651000,00
    4250,00
    3520,44


    ovviamente, se ordino questo campo in modo DECRESCENTE il 7586,00 è maggior di 652000,00.

    Che funzione uso per considerare questo varchar come numerico e ordinarlo correttamente?
    Guybrush Threepwood

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    select cast(nome_campo as signed) as numerici from tabella
    order by numerici desc

    perderai la parte che teoricamente sarebbe decimale

    ti conviene aggiornare la tabella e salvare i dati come si deve.

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    E' un po scomodo per una serie di motivi operativi...

    Dici di mettere il campo come decimal?
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    idea (spesso la strada + semplice ...)

    Ma se l'ordinamento lo faccio in base a CAMPO*100?


    ...infatti, così funzia
    Guybrush Threepwood

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Threepwood
    E' un po scomodo per una serie di motivi operativi...

    Dici di mettere il campo come decimal?
    cosa c'è di scomodo. aggiungi un campo decimal e fai una query di aggiornamento

    update tabella set campo_decimal = replace(campo_varchar,',','.')

  6. #6
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da nicola75ss
    cosa c'è di scomodo. aggiungi un campo decimal e fai una query di aggiornamento

    update tabella set campo_decimal = replace(campo_varchar,',','.')
    E' che quella virgola viene gestita anche all'interno del codice... dovrei rimetterci mano ma ho poco tempo.

    cmq facendo il giochino del *100 funzia


    Grazie!
    Guybrush Threepwood

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Threepwood
    cmq facendo il giochino del *100 funzia
    contento tu...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.