Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como fazer um GROUP BY sensível a maiúsculas e minúsculas?


Você precisa converter o texto como binário (ou usar um agrupamento que diferencia maiúsculas de minúsculas).
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))

Usando um agrupamento:
Select Name Collate SQL_Latin1_General_CP1_CS_AS, COUNT(name)
From temp
Group By Name Collate SQL_Latin1_General_CP1_CS_AS