Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [SQL SERVER] Ordinamento alfabetico partendo però da una lettera

    Salve a tutti questa è la mia necessità, fare un ordinamento alfabetico partendo però da una lettera in avanti.
    Per fare un esempio: ho una tabella con questi valori
    andrea
    marco
    paolo
    roberto
    claudio
    ...

    io vorrei fare un ordinamento per esempio partendo dalla "C" in avanti, quindi il risultato dovrebbe essere

    claudio
    marco
    paolo
    roberto
    andrea
    ...

    è possibile farlo in qualche modo con l'sql ??

    ho trovato alcuni esempi che non so se sono corretti o meno dove però mi viene restituito un messaggio di errore di sintassi quindi probabilmente non sono corretti ma ve li mostro lo stesso

    codice:
    SELECT nome FROM t ORDER BY IF(ASCII(LOWER(nome)) >=ASCII
    (LOWER('c')),1,2),nome;
    e anche

    codice:
    SELECT     titolo
    FROM         inserzioni
    ORDER BY IF (ORD(UCASE(titolo)) - ORD('C') < 0, ORD(UCASE(titolo)) - ORD('C') + 40, ORD(UCASE(titolo)) - ORD('C')), titolo
    qualcuno sa aiutarmi??
    grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: [SQL SERVER] Ordinamento alfabetico partendo però da una lettera

    Originariamente inviato da marcopaolo79
    Salve a tutti questa è la mia necessità, fare un ordinamento alfabetico partendo però da una lettera in avanti.
    Per fare un esempio: ho una tabella con questi valori
    andrea
    marco
    paolo
    roberto
    claudio
    ...

    io vorrei fare un ordinamento per esempio partendo dalla "C" in avanti, quindi il risultato dovrebbe essere

    claudio
    marco
    paolo
    roberto
    andrea
    ...

    è possibile farlo in qualche modo con l'sql ??

    ho trovato alcuni esempi che non so se sono corretti o meno dove però mi viene restituito un messaggio di errore di sintassi quindi probabilmente non sono corretti ma ve li mostro lo stesso

    codice:
    SELECT nome FROM t ORDER BY IF(ASCII(LOWER(nome)) >=ASCII
    (LOWER('c')),1,2),nome;
    e anche

    codice:
    SELECT     titolo
    FROM         inserzioni
    ORDER BY IF (ORD(UCASE(titolo)) - ORD('C') < 0, ORD(UCASE(titolo)) - ORD('C') + 40, ORD(UCASE(titolo)) - ORD('C')), titolo
    qualcuno sa aiutarmi??
    grazie a tutti
    Ecco la soluzione:

    codice:
    select titolo from inserzioni
    order by
      case
        when substring(titolo,1,1) >= 'C' then 1
        else 2
      end, titolo

  3. #3
    Mio salvatore!!!!!

    GRAZIE!!!! non sai quanto mi hai aiutato!!!!

  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da marcopaolo79
    Mio salvatore!!!!!

    GRAZIE!!!! non sai quanto mi hai aiutato!!!!
    Figurati, non c'è di che! Buona serata

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.