Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment faire un GROUP BY sensible à la casse ?

Vous devez convertir le texte en binaire (ou utiliser un classement sensible à la casse).

With temp as
(
  select 'Test' as name
  UNION ALL
  select 'TEST'
  UNION ALL
  select 'test'
  UNION ALL
  select 'tester'
  UNION ALL
  select 'tester'
)
Select Name, COUNT(name)
From temp
Group By Name, Cast(name As varbinary(100))

Utilisation d'un classement :

Select Name Collate SQL_Latin1_General_CP1_CS_AS, COUNT(name)
From temp
Group By Name Collate SQL_Latin1_General_CP1_CS_AS