upper primera primaria modificar minúsculas minusculas mayúsculas mayusculas mayuscula letra estandares entre ejemplo distingue diferenciar crear clave sql sql-server tsql constraints

primera - T-SQL: ¿Cómo creo una clave única que distingue entre mayúsculas y minúsculas?



sql distingue entre mayúsculas y minúsculas (2)

¿Cómo creo una restricción única en un campo varchar que varchar mayúsculas y minúsculas (SQL Server 2005)?

Actualmente mi restricción se ve así:

alter table MyTable add constraint UK_MyTable_MyUniqueKey unique nonclustered (MyCol)

Cuando trato de insertar los dos valores siguientes, aparece el error "Violación de restricción UNIQUE KEY ...".

insert into MyTable (MyCol) values (''ABC'') insert into MyTable (MyCol) values (''abc'') --causes a violation of UNIQUE KEY constraint ''UK_MyTable_MyUnqiueKey''

Me gustaría que los dos valores en mayúsculas y minúsculas se manejen como únicos. Imagino que implicará el siguiente código, pero no sé cómo cambia mi sintaxis de add constraint .

COLLATE SQL_Latin1_General_CP1_CS_AS


Esto cambiará la columna para que sea sensible a mayúsculas y minúsculas. No creo que haya ningún cambio en tu restricción ...

ALTER TABLE mytable ALTER COLUMN mycolumn VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CS_AS

Cualquier selección o combinación en esta columna se volverá sensible a mayúsculas y minúsculas como resultado de esta operación.


Solo puede establecer la distinción entre mayúsculas y minúsculas de los datos en la base de datos (la granularidad más pequeña de la columna). No puede establecer la sensibilidad a mayúsculas / minúsculas de un índice, que sería equivalente a poder indexar en una expresión, lo que es posible en algunas bases de datos pero no en el servidor SQL.