Estamos usando o SQL Server 2012 com um identificador exclusivo e percebemos que, ao fazer seleções com caracteres adicionais adicionados ao final (não 36 caracteres), ele ainda retorna uma correspondência com um UUID.
Por exemplo:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8'
retorna a linha com uuid 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
.
Mas se você executar:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8EXTRACHARS'
também retorna a linha com o uuid 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
.
O SQL Server parece ignorar todos os caracteres além dos 36 ao fazer suas seleções. Isso é um bug / recurso ou algo que pode ser configurado?
Não é um problema enorme, pois temos validação no front-end para o comprimento, mas não parece um comportamento correto para mim.
fonte