Question

Est-il possible de changer le classement par défaut basé sur une colonne? Je veux faire 1 colonne sensible à la casse, mais tous les autres pas

Était-ce utile?

La solution

ALTER TABLE ALTER COLUMN permet de modifier le classement d'une colonne:

alter table Foo alter column Bar ntext collate Latin1_General_CS_AS 

(le classement est peut-être incorrect)

Autres conseils

Je ne connais pas spécifiquement SQL Server, mais la pratique généralement acceptée du SGBD (pour la compatibilité) serait de:

  • placez les déclencheurs d'insertion et de mise à jour sur la table afin qu'ils soient stockés dans le cas souhaité.
  • utilisez les colonnes générées pour stocker une autre copie de la colonne dans le cas souhaité.

Il existe peut-être un moyen plus rapide de le faire dans SQL Server, mais vous devez faire attention aux solutions qui poussent la charge de travail dans les instructions SELECT - elles ne s’adaptent jamais correctement. C’est presque toujours mieux de le faire dans le cadre des insertions et des mises à jour, car c’est le seul moment où les données changent, ce qui minimise la charge de travail supplémentaire.

La réponse à votre question est oui, comme indiqué ci-dessus par Anton Gogolev .

Informations supplémentaires:

Vous trouverez ci-dessous une liste des classements pris en charge par votre serveur SQL Server en fonction de sa version.

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

quel est le sens de Kanatype Sensitive Sensibilité aux KS et à la largeur

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top