Comment déterminez-vous le classement d'une base de données dans SQL 2005, par exemple si vous devez effectuer une recherche/un remplacement insensible à la casse?Comment déterminer le classement d'une base de données dans SQL 2005?
Répondre
Utilisez l'instruction SQL suivante détermine le classement d'une base de données:
SELECT DATABASEPROPERTYEX('{database name}', 'Collation') SQLCollation;
Rappelez-vous, que les colonnes individuelles peuvent remplacer le classement de la base:
SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
Si vous voulez faire une recherche insensible à la casse et ne peut pas compter sur la collation de la base de données, vous pouvez toujours le demander spécifiquement pour la requête qui vous intéresse. Par exemple:
SELECT TOP 1 FName, *
FROM People
WHERE FName LIKE '%mich%' COLLATE Latin1_General_CI_AI
J'ai généralement le problème inverse, où je veux la sensibilité à la casse mais je ne l'ai pas dans la collation de la base de données, donc je me retrouve à utiliser le classement Latin1_General_BIN un peu dans mes requêtes. Si vous ne connaissez pas déjà, vous pouvez le faire:
SELECT
FROM ::fn_helpcollations()
pour une liste des descriptions et classements sont disponibles de ce qu'ils sont pour.
Sélectionnez la base de données et exécutez la commande suivante.
sp_helpsort