Comment rendre une colonne sensible à la casse dans SQL 2005 ou 2008
-
03-07-2019 - |
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
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