我正在使用 SQL Server 2012,并且表的字段定义为:
NVARCHAR(32)
但需要存放在里面
NVARCHAR(1024)
值,我无法更改列长度。
我有一个将填充此字段的程序。同时,如果存在具有该值的字段,它将“做某事”,如果存在具有该值的字段,则“什么也不做”。
为了解决长度问题,我决定使用HashBytes函数,如下所示:
DECLARE @HashThis nvarchar(1024);
SELECT @HashThis = CONVERT(nvarchar(1024),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA1', @HashThis);
GO
我已经读过,根据您的数据库排序规则,您可能对相同的值有不同的哈希返回。那么,有没有办法为函数指定一个排序规则,以便不依赖于数据库排序规则。
另外,我的想法有问题吗?