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

Variáveis ​​que diferenciam maiúsculas de minúsculas no SQL Server


Você precisa alterar o agrupamento do servidor para diferenciar maiúsculas de minúsculas para obter o comportamento desejado. Apenas alterar o agrupamento para o db não é suficiente.

O agrupamento padrão de uma instalação do SQL Server, SQL_Latin1_General_CP1_CI_AS não diferencia maiúsculas de minúsculas.

Parece que você deseja modificar o agrupamento do seu servidor para um que não diferencia maiúsculas de minúsculas. Escolha um com _CS . O _CI significa "não diferencia maiúsculas de minúsculas ", e diferencia maiúsculas de minúsculas é _CS . Talvez você queira Latin1_General_CS_AS .

Esta é uma ótima resposta para uma pergunta anterior sobre como alterar o agrupamento do SQL Server para diferencia maiúsculas de minúsculas?.

Dos Manuais Online do SQL Server:

COLLATE (Transact-SQL)


A ordenação de um identificador depende do nível em que ele é definido.
  • Identificadores de objetos em nível de instância, como logins e nomes de banco de dados, recebem a ordenação padrão da instância.

  • Identificadores de objetos em um banco de dados, como tabelas, exibições e nomes de colunas, são atribuídos ao agrupamento padrão do banco de dados.

    Por exemplo, duas tabelas com nomes diferentes apenas em maiúsculas e minúsculas podem ser criadas em um banco de dados com ordenação que diferencia maiúsculas de minúsculas, mas não podem ser criadas em um banco de dados com ordenação que não diferencia maiúsculas de minúsculas. Para obter mais informações, consulte Identificadores de banco de dados.

  • Os identificadores para variáveis , rótulos IR PARA , procedimentos armazenados temporários e tabelas temporárias estão no agrupamento padrão da instância do servidor.

    Variáveis, rótulos GOTO, procedimentos armazenados temporários e tabelas temporárias podem ser criados quando o contexto de conexão é associado a um banco de dados e, em seguida, referenciados quando o contexto é alternado para outro banco de dados.

Você pode verificar seu servidor agrupamento usando:
SELECT SERVERPROPERTY('collation');

SQL_Latin1_General_CP1_CI_AS
(1 row(s) affected)