none
Ricerca Collating Sequence RRS feed

  • Domanda

  • Ciao, a tutti, mi ricollego ai post precedenti chiedendovi se potete darmi un aiuto per la scelta della corretta collating sequence. Quello che vorrei ottenere è che tutti i valori che iniziano con il simbolo meno "-" siano ordinati in sequenza (prima o dopo i codici alfanumerici non ha importanza) ma che siano raggruppati in un unico insieme.

    Attualmente l'installazione con Latin1_General_CI_AS trascura i trattini iniziali e l'ordinamento avviene in base al carattere alfanumerico che trova successivamente al trattino. In tal modo l'ordine "mischia" i valori "-PA" e "PA".

    Qualche aiuto in merito?

    Grazie.

    martedì 11 febbraio 2020 08:15

Risposte

  • Ciao,

    puoi utilizzare una qualsiasi collate di tipo binario la quale opera sui valori sottostanti alla rappresentazione carattere: ad esempio Latin1_General_BIN o Latin1_General_BIN2.

    Se utilizzi colonne di tipo unicode non hai altre implicazioni, viceversa devi valutare la collate il cui set di caratteri ha maggior copertura rispetto a quelli che le tue tabelle ospitano.

    G.

    PS: di per sé non serve che la collate sia quella del campo o dell'intero database: essa potrebbe essere specificata a livello di specifici campi nella condizione order by della query.
    • Modificato gnic giovedì 13 febbraio 2020 04:40 addendum
    • Contrassegnato come risposta FP8080 venerdì 14 febbraio 2020 17:21
    mercoledì 12 febbraio 2020 16:58

Tutte le risposte

  • Ciao,

    puoi utilizzare una qualsiasi collate di tipo binario la quale opera sui valori sottostanti alla rappresentazione carattere: ad esempio Latin1_General_BIN o Latin1_General_BIN2.

    Se utilizzi colonne di tipo unicode non hai altre implicazioni, viceversa devi valutare la collate il cui set di caratteri ha maggior copertura rispetto a quelli che le tue tabelle ospitano.

    G.

    PS: di per sé non serve che la collate sia quella del campo o dell'intero database: essa potrebbe essere specificata a livello di specifici campi nella condizione order by della query.
    • Modificato gnic giovedì 13 febbraio 2020 04:40 addendum
    • Contrassegnato come risposta FP8080 venerdì 14 febbraio 2020 17:21
    mercoledì 12 febbraio 2020 16:58
  • Grazie! Ho fatto una prova e sembra che tutto funzioni bene. Colonne di tipo unicode come posso riconoscerle? Non mi sembra di averne comunque.

    La specifica della collate nella query la escludo perché non gestisco direttamente la query, ma lo fa il framework e dovrei riscrivere tutte le query in sql...

    venerdì 14 febbraio 2020 17:24
  • Grazie! Ho fatto una prova e sembra che tutto funzioni bene. Colonne di tipo unicode come posso riconoscerle? Non mi sembra di averne comunque.

    La specifica della collate nella query la escludo perché non gestisco direttamente la query, ma lo fa il framework e dovrei riscrivere tutte le query in sql...

    Le colonne Unicode sono quelle il cui tipo stringa inizia col carattere "N": Nvarchar, Nchar, Ntext.

    Le costanti stringa Unicode sono quelle con il carattere "N" in testa, ad es N'Hello Unicode World!'

    Ciao

    G

    lunedì 17 febbraio 2020 08:37