Ordinare campo VARCHAR come INT da query MySQL

Avete un campo VARCHAR su cui avete salvato dei prezzi o delle statistiche?
Volete ordinarli ma non sapete come fare? Semplice come fare una query!

ORDER BY CAST(nome_campo AS SIGNED) ASC

dove per nome_campo andrà il campo da trattare come INT.
Tiene in considerazione anche i numeri con virgola o decimali e svariati altri tipi di campo:

  • BINARY
  • CHAR
  • DATE
  • DATETIME
  • DECIMAL
  • SIGNED
  • UNSIGNED
  • TIME

una vera chicca per chi come me usa sovente VARCHAR!

Annunci

, , , , , , , , , , , , , , , , , , , , , ,

  1. #1 di Gian Luca il 21/12/2011 - 20:43

    caro portapipe,
    ho trovato questo tuo articolo grazie a Google:

    Ordinare campo VARCHAR come INT da query MySQL

    Ho esattamente lo stesso problema ma purtroppo ne la tua soluzione (ORDER BY CAST(nome_campo AS SIGNED) ASC) ne altre (ORDER BY ABS(nome_campo) ASC oppure ORDER BY (nome_campo + 0) ) funzionano.
    Ho su un sito una lista di prodotti con tre colonne dati che cliccate nelle etichette si dovrebbero riordinare ASC e DESC.
    I campi sono VARCHAR ed il DB è codificato UTF8.
    Il sito è approntato on line in un area test e ti avrei attivato anche un echo delle query.
    Se puoi aiutarmi scrivimi direttamente e ti invio il link.
    Naturalmente sarò felice di offrirti un caffè (anche non virtuale dato che sto a Milano).

  2. #4 di Luca Suriano il 18/09/2012 - 09:32

    Sono così contento per aver trovato questa soluzione al mio problema che se fossi qui ti abbraccerei di cuore. Erano mesi che mi chiedevo come ordinare questi varchar, Grazie.

    • #5 di portapipe il 18/09/2012 - 09:35

      E’ un piacere aiutare 🙂 Accetto l’abbraccio. C’è crisi per tutto oramai e non si lesina nulla 😀

  3. #6 di Luca Suriano il 18/09/2012 - 09:39

    Dopo scendi al bar e vai a prendere il caffe che ti ho offerto su Paypal.

    • #7 di portapipe il 18/09/2012 - 09:41

      E con i 10 centesimi che avanzano mi prendo una goleador, valida alleata di ogni programmatore che si rispetti! 🙂
      Grazie mille

  4. #8 di Luca Suriano il 18/09/2012 - 09:44

    mi farebbe piacese se mi aggiungessi ai tuoi amici su FB.

    • #9 di portapipe il 18/09/2012 - 09:45

      Per mio grande sforzo non ho facebook ma ho twitter. Stesso nick. Ti aspetto lì se ci sei.

  5. #10 di Luca Suriano il 18/09/2012 - 09:51

    fatto. grazie

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: