Мы используем SQL Server 2012 с уникальным идентификатором, и мы заметили, что при выполнении выбора с дополнительными символами, добавляемыми в конец (не 36 символов), он по-прежнему возвращает совпадение с UUID.
Например:
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8'
возвращает строку с uuid 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
.
Но если вы запустите
select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8EXTRACHARS'
он также возвращает строку с UUID 7DA26ECB-D599-4469-91D4-F9136EC0B4E8
.
SQL Server, кажется, игнорирует все символы за пределами 36 при выполнении его выбора. Это ошибка / функция или что-то, что можно настроить?
Это не большая проблема, так как у нас есть проверка на длину, но это не кажется мне правильным поведением.
источник