Domanda

È possibile modificare le regole di confronto predefinite in base a una colonna? voglio rendere 1 colonna maiuscole e minuscole ma tutte le altre no

È stato utile?

Soluzione

ALTER TABLE ALTER COLUMN consente di modificare le regole di confronto per una singola colonna:

alter table Foo alter column Bar ntext collate Latin1_General_CS_AS 

(le regole di confronto potrebbero non essere corrette)

Altri suggerimenti

Non conosco specificamente SQL Server, ma la pratica DBMS generalmente accettata (per compatibilità) sarebbe quella di:

  • posiziona i trigger di inserimento e aggiornamento sulla tabella in modo che vengano memorizzati nel caso desiderato.
  • usa le colonne generate per memorizzare un'altra copia della colonna nel caso tu voglia.

Potrebbe esserci un modo più veloce per farlo in SQL Server ma dovresti stare attento alle soluzioni che spingono il carico di lavoro nelle istruzioni SELECT - non si adattano mai bene. È quasi sempre meglio farlo come parte degli inserimenti e degli aggiornamenti poiché è l'unica volta che i dati cambiano - farlo in questo modo minimizza il carico di lavoro extra.

La risposta alla tua domanda è sì, già indicata sopra da Anton Gogolev .

Informazioni aggiuntive:

Ecco come puoi trovare un elenco di regole di confronto supportate da SQL Server in base alla sua versione.

select name, 
       COLLATIONPROPERTY(name, 'CodePage') as Code_Page, 
       description
from   sys.fn_HelpCollations()

qual è il significato di Kanatype Sensitive KS e larghezza sensibile

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top