Non è l'operatore che distingue tra maiuscole e minuscole, è la colonna stessa.
Quando viene eseguita un'installazione di SQL Server, viene scelto un confronto predefinito per l'istanza. Salvo diversa indicazione esplicita (controllare la clausola collate sotto) quando viene creato un nuovo database, eredita le regole di confronto dall'istanza e quando viene creata una nuova colonna eredita le regole di confronto dal database a cui appartiene.
Un confronto simile sql_latin1_general_cp1_ci_as
determina come deve essere trattato il contenuto della colonna. CI sta per case insensitive e AS sta per accent sensitive.
Un elenco completo delle regole di confronto è disponibile su https://msdn.microsoft.com/en-us/library/ms144250(v=sql.105).aspx
(a) Per controllare le regole di confronto di un'istanza
select serverproperty('collation')
(b) Per controllare le regole di confronto del database
select databasepropertyex('databasename', 'collation') sqlcollation
(c) Per creare un database utilizzando un confronto diverso
create database exampledatabase
collate sql_latin1_general_cp1_cs_as
(d) Per creare una colonna utilizzando regole di confronto diverse
create table exampletable (
examplecolumn varchar(10) collate sql_latin1_general_cp1_ci_as null
)
(e) Per modificare le regole di confronto di una colonna
alter table exampletable
alter column examplecolumn varchar(10) collate sql_latin1_general_cp1_ci_as null
È possibile modificare un'istanza e le regole di confronto del database ma non influisce sugli oggetti creati in precedenza.
È anche possibile modificare al volo le regole di confronto di una colonna per il confronto delle stringhe, ma ciò è altamente sconsigliato in un ambiente di produzione perché è estremamente costoso.
select
column1 collate sql_latin1_general_cp1_ci_as as column1
from table1
LIKE
fa distinzione tra maiuscole e minuscole, se non lo è, alloraLIKE
non lo è