sql >> Base de Datos >  >> RDS >> Sqlserver

Variables sensibles a mayúsculas y minúsculas en SQL Server

Debe cambiar la intercalación del servidor para distinguir entre mayúsculas y minúsculas para obtener el comportamiento que desea. Simplemente cambiar la intercalación de la base de datos no es suficiente.

La intercalación predeterminada de una instalación de SQL Server, SQL_Latin1_General_CP1_CI_AS no distingue entre mayúsculas y minúsculas.

Parece que desea modificar la intercalación de su servidor a uno que no distingue entre mayúsculas y minúsculas. Elige uno con _CS . El _CI significa "insensible a mayúsculas y minúsculas ", y distingue entre mayúsculas y minúsculas es _CS . Tal vez quieras Latin1_General_CS_AS .

Esta es una excelente respuesta a una pregunta anterior sobre ¿Cambiar la intercalación de SQL Server a mayúsculas y minúsculas?.

De los libros en línea de SQL Server:

COLOCAR (Transact-SQL)

La intercalación de un identificador depende del nivel en el que se define.

  • A los identificadores de objetos a nivel de instancia, como inicios de sesión y nombres de bases de datos, se les asigna la intercalación predeterminada de la instancia.
  • A los identificadores de objetos dentro de una base de datos, como tablas, vistas y nombres de columnas, se les asigna la intercalación predeterminada de la base de datos.

    Por ejemplo, se pueden crear dos tablas con nombres diferentes solo en mayúsculas y minúsculas en una base de datos con intercalación que distingue entre mayúsculas y minúsculas, pero no se puede crear en una base de datos con intercalación que no distingue entre mayúsculas y minúsculas. Para obtener más información, consulte Identificadores de bases de datos.

  • Los identificadores de variables , etiquetas GOTO , procedimientos almacenados temporales y tablas temporales están en la intercalación predeterminada de la instancia del servidor.

    Las variables, las etiquetas GOTO, los procedimientos almacenados temporales y las tablas temporales se pueden crear cuando el contexto de conexión está asociado con una base de datos y luego se hace referencia cuando el contexto se ha cambiado a otra base de datos.

Puedes consultar tu servidor colación usando:

SELECT SERVERPROPERTY('collation');

SQL_Latin1_General_CP1_CI_AS
(1 row(s) affected)