Ми використовуємо 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, виконуючи його вибір. Це помилка / функція чи щось, що можна налаштувати?
Це не є масовим питанням, оскільки ми маємо перевірку на передньому кінці на довжину, але це не здається мені правильною поведінкою.