Como você compara seqüências de caracteres para que a comparação seja verdadeira apenas se os casos de cada uma delas também forem iguais. Por exemplo:
Select * from a_table where attribute = 'k'
... retornará uma linha com um atributo 'K'. Eu não quero esse comportamento.
sql
sql-server
amccormack
fonte
fonte
Respostas:
Fiz o truque.
fonte
Latin1_General_CS_AS
é uma especificação do agrupamento. Agrupamento refere-se a um conjunto de regras que determinam como os dados são classificados e comparados. Veja esta página para mais informações.Você também pode converter esse atributo como distinção entre maiúsculas e minúsculas usando esta sintaxe:
Agora sua pesquisa diferencia maiúsculas de minúsculas .
Se você deseja tornar a coluna insensível novamente, use
fonte
Você pode facilmente converter colunas em VARBINARY (Max Length). O comprimento deve ser o máximo que você espera para evitar uma comparação defeituosa. É o suficiente para definir o comprimento como o comprimento da coluna. A coluna Aparar ajuda a comparar o valor real, exceto que o espaço tem um significado e é valorizado nas colunas da tabela. Esta é uma amostra simples e, como você pode ver, I Aparar o valor das colunas e, em seguida, converter e comparar .:
Espero que esta ajuda.
fonte
Assim como outra alternativa, você pode usar HASHBYTES, algo como isto:
fonte
Você pode definir
attribute
comoBINARY
ou usarINSTR
ouSTRCMP
para executar sua pesquisa.fonte
INSTR
eSTRCMP
funções.