Je cherche une requête SQL qui me donne toutes les lignes où ColumnX contient une lettre minuscule (par exemple "1234aaaa5789"). Idem pour les majuscules.
Réponses
Trop de publicités?Dans le serveur MS SQL, utilisez la clause COLLATE.
SELECT Column1
FROM Table1
WHERE Column1 COLLATE Latin1_General_CS_AS = 'casesearch'
Ajout de COLLATE Latin1_General_CS_AS
rend la recherche sensible à la casse.
Collation par défaut de l'installation du serveur SQL SQL_Latin1_General_CP1_CI_AS
n'est pas sensible à la casse.
Pour changer la collation de n'importe quelle colonne de n'importe quelle table en permanence, exécutez la requête suivante.
ALTER TABLE Table1
ALTER COLUMN Column1 VARCHAR(20)
COLLATE Latin1_General_CS_AS
Pour connaître la collation des colonnes d'une table, exécutez la procédure stockée suivante.
EXEC sp_help DatabaseName
Source : SQL SERVER - Collate - Recherche de requêtes SQL sensibles à la casse