Używamy SQL Server 2012 z unikalnym identyfikatorem i zauważyliśmy, że podczas wybierania z dodatkowymi znakami dodanymi na końcu (więc nie 36 znaków) nadal zwraca dopasowanie do UUID.
Na przykład:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8'
zwraca wiersz z uuid 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
.
Ale jeśli biegniesz:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8EXTRACHARS'
zwraca również wiersz z identyfikatorem UUID 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
.
Podczas wybierania SQL Server wydaje się ignorować wszystkie znaki poza 36. Czy to błąd / funkcja czy coś, co można skonfigurować?
Nie jest to ogromny problem, ponieważ mamy przednią weryfikację długości, ale nie wydaje mi się to poprawnym zachowaniem.
źródło