我们正在使用带有唯一标识符的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个字符之外的所有字符。这是错误/功能还是可以配置的东西?
这不是一个大问题,因为我们在前端进行了长度验证,但对我来说似乎不是正确的行为。