Force la requête T-SQL à être sensible à la casse dans MS
J'ai une table qui s'origine dans un ancien système d'héritage qui a été le cas sensibles, en particulier une colonne de l'état où le 's' = 'Calendrier importer' et 'S' = 'gestion'. Ce tableau a finalement fait son chemin dans SQL Server 2000, base de données, je peux interroger. Ma question est relativement simple il suffit d'aller pour compte...
Select trans_type, count(1) from mytable group by trans_type
C'est le groupement des comtes de 'S' avec le 's' qui compte. Est-il un moyen de forcer une requête pour être cap sensibles? J'ai accès à SQL Server 2000 et 2005 environnements pour exécuter cette, cependant, ont limité la fonction d'administration sur le serveur (donc je ne peux pas définir des attributs de serveur)... je suppose que je pourrais déplacer les données de mon local et de l'installation de quelque chose sur ma région, où j'ai plein accès à des options de serveur, mais préférez un tsql solution.
source d'informationauteur Twelfth
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire cela avec
=
like
et d'autres opérateurs. Notez que vous devez modifier la liste de sélection parce que vous n'êtes plus en groupement partrans_type
vous êtes maintenant un regroupement entrans_type collate SQL_Latin1_General_CP1_CS_AS
. Une sorte de chasse aux sorcières.Pouvez-vous introduire un trans_type_ascii colonne avec la valeur ascii de la trans_type et de groupe sur ce lieu? Ou de toute autre colonne que vous pouvez utiliser (isUpperCase) pour les distinguer.